已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班级 计科1201 姓名: 学号 201216010506 成绩 实验4 Java的输入机制I 实验目的(1) . Java如何操作文件(2) .了解Java中的输入机制;如何从控制台输入,如何用InputStream和Reader显示文件中的内容。II 实验内容(1) . 递归遍历目录,显示其中的文件名。a. 源代码b. package com.fileTest;c.d. import java.io.File;e.f. public class BianLi / 遍历目录,显示文件的名字g.h. /*i. * param argsj. */k. public static void main(String args) l.m. File f = new File(D:/360安全浏览器下载); /创建一个File对象 n. listChids(f); /调用 一个列出目录的方法o.p. q.r. s.t. public static void listChids(File f)u.v. System.out.println(f.getName(); w.x. if(!f.isDirectory() /如果 不是目录,退出 y.z. return ;aa. elsebb.cc. File fs = f.listFiles();dd. for(int i=0;ifs.length;i+) ee.ff. listChids(fsi);gg. hh. ii. jj. kk. ll. 运行截图(2) . 用InputStream的子类读入一个英文文本文件,并用System.out显示其中的内容。a. 源代码b. package com.fileTest;c.d. import java.io.*;e.f. public class Fileinput g.h. /*i. * param argsj. */k. public static void main(String args)throws IOException l. m. / TODO Auto-generated method stubn. o. String file = src/abc.java; / 英文本文件p. Fileinput d = new Fileinput(); /实列化对象q. d.readFile(file); / 调用readFile 方法r. s. t.u. public void readFile(String fileName) throws IOExceptionv. InputStream in = new FileInputStream(fileName); / 创建字节流对象w. x. / TODO Auto-generated method stuby. try z. int b = 0 ;aa. while(true)bb. cc. b = in.read();/得到内容判断是否结束dd. if(b=-1)ee. break;ff. System.out.print(char)b);/ 得到内容进行处理,转换成字符型输出gg. hh. ii. finallyjj. if(in!=null)kk. in.close(); /关闭流ll. mm. nn. oo.pp. qq. 运行截图rr.(3) . 用Reader的子类读入一个字符文件,并用System.out显示其中的内容。1源代码package com.fileTest;import java.io.*;public class FileReaderBy /* * param args * throws IOException * */public static void main(String args) throws IOException / TODO Auto-generated method stubFileReaderBy a = new FileReaderBy(); /创建一个对象a.readFile(src/fly.txt); /调用方法读入字符文件public void readFile(String filename) throws IOException / TODO Auto-generated method stubBufferedReader b = null;try b =new BufferedReader(new FileReader(filename),8*1024);String line = null;/得到内容并判断是否到流的末尾 while(line = b.readLine()!=null) /得到的内容进行处理 System.out.println(line);/ 输出结果 finallyif(b!=null)b.close(); /关闭流运行截图(4) . 从控制台输入Student类的信息,包括学号、姓名、年龄,如输入错误,提示用户重新输入。创建该类,并在toString方法中输入个人信息。1源package FileInput;import com.java.ErrorException;public class Students / 学号private long num ; /姓名private String name ;/年龄private int age;public Students()public void setId(long num)this.num = num;public void setName(String name) = name ;public void setAge(int age)throws ErrorException if(age120) throw new ErrorException();this.age= age; Override public String toString()return num+ +name+ +age; /返回个人信息代码public class ByScanner /* * param args */public static void main(String args) / TODO Auto-generated method stub Students s = new Students(); Scanner sc = new Scanner (System.in); int id =0; String name=null; ; int age =0 ; String len = null; while(true) try System.out. println(请输入学号);len= sc.nextLine(); id = Integer.parseInt(len); s.setId(id); break; catch(Exception e) sc.nextLine(); System.out.println( Input error,please innput again!); while(true) try System.out. println(请输入姓名); name = sc.next(); s.setName(name); break; catch(Exception e) sc.nextLine(); System.out.println( Input error,please innput again); while(true) try System.out. println(请输入年龄); age = sc.nextInt(); s.setAge(age); break; catch(Exception e) sc.nextLine(); System.out.println( Input error,please innput again); System.out.println(该学生的信息为:+ s.toString();运行截图(5) . 增加(1)中的功能,显示文件的大小,目录的话显示其中包括的所有文件的大小。注意显示文件大小的单位(KB或MB)。a. 源代码b. package filebianli;c.d.e. import java.text.DecimalFormat;f. import java.io.*;g. public class Bianlih. i. public long getFileSizes(File f) throws Exception/取得文件大小j. long s=0;k. if (f.exists() l. FileInputStream fis= new FileInputStream(f);m. s= fis.available();n. else o. f.createNewFile();p. System.out.println(文件不存在);q. r. return s;s. t. / 递归u. public long getFileSize(File f)throws Exception/取得文件夹大小v. w. long size = 0;x. File flist = f.listFiles();y. for (int i = 0; i flist.length; i+)z. aa. if (flisti.isDirectory()bb. cc. size = size + getFileSize(flisti);dd. elseee. ff. size = size + flisti.length();gg. hh. ii. return size;jj. kk. public String FormetFileSize(long fileS) /转换文件大小ll. DecimalFormat df = new DecimalFormat(#.00);mm. String fileSizeString = ;nn. if (fileS 1024) oo. fileSizeString = df.format(double) fileS) + B;pp. else if (fileS 1048576) qq. fileSizeString = df.format(double) fileS / 1024) + K;rr. else if (fileS 1073741824) ss. fileSizeString = df.format(double) fileS / 1048576) + M;tt. else uu. fileSizeString = df.format(double) fileS / 1073741824) + G;vv. ww. return fileSizeString;xx. yy. zz. public long getlist(File f)/归求取目录文件个数aaa.bbb. System.out.println(f.getName(); ccc. long size = 0;ddd. File flist = f.listFiles();eee. size=flist.length;fff. for (int i = 0; i flist.length; i+) ggg. if (flisti.isDirectory() hhh. size = size + getlist(flisti);iii. size-;jjj. kkk. lll. return size;mmm. nnn. ooo. ppp. public static void main(String args)qqq. rrr. Bianli g = new Bianli();sss. ttt. tryuuu. vvv. long l = 0;www. xxx. File f = new File( D:/360安全浏览器下载);yyy. if (f.isDirectory() /如果路径是文件夹的时候zzz. System.out.println(文件个数 + g.getlist(f);aaaa. System.out.println(目录);bbbb. l = g.getFileSize(f);cccc. System.out.println( 目录的大小为: + g.FormetFileSize(l);dddd. else eeee. System.out.println( 文件个数 1);ffff. System.out.println(文件);gggg. l = g.getFileSizes(f);hhhh. System.out.println( 文件的大小为: + g.FormetFileSize(l);iiii. jjjj. kkkk. catch (Exception e)llll. mmmm. e.printStackTrace();nnnn. oooo. pppp. qqqq.rrrr. 运行截图ssss.tttt.III 在本次实验中的问题和解决方法那个第四题 当输入学号如果是0开头 ,那输出结果就会被舍弃因为不是一个数,如果非要输入0开头的学号,还没找到解决的办法,解决了那个输学号空格问题 ,解决年龄超过一定数和负数问题,文件显示大小出现的问题,看了下博客园的写的。IV心得体会Java 博大进深,不懂的很多的,继续努力学习吧 #include #include #include #include double wtime(void );int main(int arc , ch
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教研员竞聘答辩题目及答案
- 2026年杭州市萧山区机关事业单位编外招聘81人笔试参考题库附答案解析
- 2026年江苏省东台市高一数学上册期末考试模拟测试卷附完整答案【易错题】
- 2026年安徽省界首市高一数学上册期末考试模拟测试卷及一套参考答案
- 2026年湖北省枝江市高一数学上册期末考试模拟检测卷(完整版)附答案
- 2026年海南省万宁市高一数学上册期末考试模拟卷及完整答案(有一套)
- 2026年湖南省临湘市高一数学上册期末考试模拟测试卷及完整答案(名师系列)
- 2026年吉林省龙井市高一数学上册期末考试模拟卷(重点)附答案
- 2026年江西省贵溪市高一数学上册期末考试模拟检测卷带答案(预热题)
- 2026年云南省楚雄市高一数学上册期末考试模拟检测卷【基础题】附答案
- 2024年常州经济开发区招聘政府雇员笔试真题
- 2025届北京市海淀区清华附中七下生物期末考试模拟试题含解析
- 【MOOC】走近马克思-暨南大学 中国大学慕课MOOC答案
- 低温甲醇洗脱硫脱碳技术
- 会计事务所业务合作协议
- 实验设计与统计分析
- 胰岛素泵操作流程课件
- 头部损伤护理查房课件
- 2023年模具业界掀起低碳环保时代风报告模板
- 地下室聚氨酯防水技术交底
- 大学英语四级真题阅读练习10套(附参考答案)
评论
0/150
提交评论