工业大学实验四Java的输入机制.docx
- 文档编号:610385
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:15
- 大小:52.68KB
工业大学实验四Java的输入机制.docx
《工业大学实验四Java的输入机制.docx》由会员分享,可在线阅读,更多相关《工业大学实验四Java的输入机制.docx(15页珍藏版)》请在冰豆网上搜索。
工业大学实验四Java的输入机制
实验4——Java的输入机制
I实验目的
(1).Java如何操作文件
(2).了解Java中的输入机制;如何从控制台输入,如何用InputStream和Reader显示文件中的内容。
II实验内容
(1).递归遍历目录,显示其中的文件名。
a.源代码
b.packagecom.fileTest;
c.
d.importjava.io.File;
e.
f.publicclassBianLi{//遍历目录,显示文件的名字
g.
h./**
i.*@paramargs
j.*/
k.publicstaticvoidmain(String[]args){
l.
m.Filef=newFile("D:
/360安全浏览器下载");//创建一个File对象
n.listChids(f);//调用一个列出目录的方法
o.
p.}
q.
r.
s.
t.publicstaticvoidlistChids(Filef){
u.
v.System.out.println(f.getName());
w.
x.if(!
f.isDirectory()){//如果不是目录,退出
y.
zz.return;
aa.}else{
bb.
cc.File[]fs=f.listFiles();
dd.for(inti=0;i ee. ff.listChids(fs[i]); gg. hh.} ii.} jj.} kk.} ll.运行截图 (2).用InputStream的子类读入一个英文文本文件,并用System.out显示其中的内容。 a.源代码 b.packagecom.fileTest; c. d.importjava.io.*; e. f.publicclassFileinput{ g. h./** i.*@paramargs j.*/ k.publicstaticvoidmain(String[]args)throwsIOException l.{ m.//TODOAuto-generatedmethodstub n. o.Stringfile="src/abc.java";//英文本文件 p.Fileinputd=newFileinput();//实列化对象 q.d.readFile(file);//调用readFile方法 r. s.} t. u.publicvoidreadFile(StringfileName)throwsIOException{ v.InputStreamin=newFileInputStream(fileName);//创建字节流对象 w. x.//TODOAuto-generatedmethodstub y.try{ zz.intb=0; aa.while(true) bb.{ cc.b=in.read();//得到内容判断是否结束 dd.if(b==-1) ee.break; ff.System.out.print((char)b);//得到内容进行处理,转换成字符型输出 gg. hh.} ii.}finally{ jj.if(in! =null) kk.in.close();//关闭流 ll.} mm. nn.} oo. pp.} qq.运行截图 rr. (3).用Reader的子类读入一个字符文件,并用System.out显示其中的内容。 1源代码 packagecom.fileTest; importjava.io.*; publicclassFileReaderBy{ /** *@paramargs *@throwsIOException * */ publicstaticvoidmain(String[]args)throwsIOException{ //TODOAuto-generatedmethodstub FileReaderBya=newFileReaderBy();//创建一个对象 a.readFile("src/fly.txt");//调用方法读入字符文件 } publicvoidreadFile(Stringfilename)throwsIOException{ //TODOAuto-generatedmethodstub BufferedReaderb=null; try{ b=newBufferedReader(newFileReader(filename),8*1024); Stringline=null; //得到内容并判断是否到流的末尾 while((line=b.readLine())! =null) { //得到的内容进行处理 System.out.println(line);//输出结果 } } finally { if(b! =null) b.close();//关闭流 } } } 运行截图 (4).从控制台输入Student类的信息,包括学号、姓名、年龄,如输入错误,提示用户重新输入。 创建该类,并在toString方法中输入个人信息。 1源 packageFileInput; importcom.java.ErrorException; publicclassStudents{ //学号 privatelongnum; //姓名 privateStringname; //年龄 privateintage; publicStudents() { } publicvoidsetId(longnum) { this.num=num; } publicvoidsetName(Stringname) { this.name=name; } publicvoidsetAge(intage)throwsErrorException {if(age<0||age>120) thrownewErrorException(); this.age=age; } @OverridepublicStringtoString(){ returnnum+""+name+""+age;//返回个人信息 } } 代码 publicclassByScanner{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Studentss=newStudents(); Scannersc=newScanner(System.in); intid=0; Stringname=null;; intage=0; Stringlen=null; while(true) { try{ System.out.println("请输入学号"); len=sc.nextLine(); id=Integer.parseInt(len);s.setId(id); break; } catch(Exceptione) {sc.nextLine(); System.out.println("Inputerror,pleaseinnputagain! "); } } while(true){ try{ System.out.println("请输入姓名"); name=sc.next(); s.setName(name); break; } catch(Exceptione) {sc.nextLine(); System.out.println("Inputerror,pleaseinnputagain"); } } while(true){ try{ System.out.println("请输入年龄"); age=sc.nextInt(); s.setAge(age); break; } catch(Exceptione) {sc.nextLine(); System.out.println("Inputerror,pleaseinnputagain"); } } System.out.println("该学生的信息为: "+s.toString()); } } 运行截图 (5).增加 (1)中的功能,显示文件的大小,目录的话显示其中包括的所有文件的大小。 注意显示文件大小的单位(KB或MB)。 a.源代码 b.packagefilebianli; c. d. e.importjava.text.DecimalFormat; f.importjava.io.*; g.publicclassBianli h.{ i.publiclonggetFileSizes(Filef)throwsException{//取得文件大小 j.longs=0; k.if(f.exists()){ l.FileInputStreamfis=newFileInputStream(f); m.s=fis.available(); n.}else{ o.f.createNewFile(); p.System.out.println("文件不存在"); q.} r.returns; s.} t.//递归 u.publiclonggetFileSize(Filef)throwsException//取得文件夹大小 v.{ w.longsize=0; x.Fileflist[]=f.listFiles(); y.for(inti=0;i zz.{ aa.if(flist[i].isDirectory()) bb.{ cc.size=size+getFileSize(flist[i]); dd.}else ee.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业大学 实验 Java 输入 机制