首页 第9讲 java的输入输出(二)

第9讲 java的输入输出(二)

举报
开通vip

第9讲 java的输入输出(二)第9讲Java的输入输出流9.1流概念9.2Java用于输入输出流的类9.3数据流的使用9.3.2使用字节流顺序读/写文件1.FileInputStream类的构造方法 FileInputStream类是InputStream类的子类。 FileInputStream类的两种构造方法:1)FileInputStream(Stringname)建立一个文件输入流从指定的File对象读取参数:name为与系统有关的文件名FileInputStreamfin1=newFileInputStream(“d:/j...

第9讲 java的输入输出(二)
第9讲Java的输入输出流9.1流概念9.2Java用于输入输出流的类9.3数据流的使用9.3.2使用字节流顺序读/写文件1.FileInputStream类的构造方法 FileInputStream类是InputStream类的子类。 FileInputStream类的两种构造方法:1)FileInputStream(Stringname)建立一个文件输入流从指定的File对象读取参数:name为与系统有关的文件名FileInputStreamfin1=newFileInputStream(“d:/jsp/jsp.txt”)9.3.2使用字节流顺序读/写文件9.3.2使用字节流顺序读/写文件 2)FileInputStream(Filefile) 参数:file为被打开用于读取的文件 Filefile=newFile(“C:/jsp/jsp.txt”); FileInputStreamfin1=newFileInputStream(file);注:使用以上两种构造方法时,如果文件没找到,会抛出FileNotFoundException异常。1.FileInputStream类的构造方法2.FileInputStream类的常用方法1、publicintread()从输入流中读取1个字节的数据返回值为读入字节的ascII码;返回值为-1时, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 明到了文件末尾2、publicintread(byteb[])从输入流中读取b.length个字节的数据到字数组b中返回值为读入字节数组的数据个数;返回值为-1时,表明到了文件末尾而无更多数据9.3.2使用字节流顺序读/写文件3、publicintavailable()该方法返回可以从文件输入流中读取的字节的数目4、publicvoidclose()关闭文件输入流并释放任何与这个流相联系的系统资源9.3.2使用字节流顺序读/写文件2.FileInputStream类的常用方法3.FileOutputStream类的构造方法 FileOutputStream类是OutputStream类的子类。 FileOutputStream类的两种构造方法:1)FileOutputStream(Stringname)建立一个文件输出流把输出写入File对象参数:name为与系统有关的文件名FileOutputStreamfout1=newFileOutputStream(“C:/jsp/jsp.txt”)9.3.2使用字节流顺序读/写文件3.FileOutputStream类的构造方法2)FileOutputStream(Filefile)参数:file为被打开用于写输出的文件Fileafile=newFile(“C:/jsp/jsp.txt”);FileOutputStreamfout1=newFileOutputStream(afile);注:使用以上两种构造方法时,如果文件没找到,会抛出FileNotFoundException异常;也可能抛出SecurityException异常。9.3.2使用字节流顺序读/写文件4.FileOutputStream类的常用方法1、publicvoidwrite(byteb[])向输出流中写入b.length个字节的数据9.3.2使用字节流顺序读/写文件2、publicvoidclose()关闭文件输出流并释放任何与这个流相联系的系统资源 在输入与输出时都有可能发生异常,所以程序必须使用一个catch(捕获)块检测并处理这个异常。try {FileInputStreamfin=newFileInputStream(“myfile.txt”); }catch(IOExceptione){System.out.println(“Filereaderror:“+e);}9.3数据流的使用1.如何使用文件流:例 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :将一个文件的内容拷贝到另一个文件。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{ //打印fin.txt文件的内容: System.out.println("文件fin.txt:");Filef1=newFile("D:/fin.txt");FileInputStreamfins=newFileInputStream(f1);intn=fins.available();bytetemp[]=newbyte[n];intkk=fins.read(temp);Stringart=newString(temp);System.out.print(art);/*for(intk=0;k<temp.length;k++){System.out.println(temp[k]);}*///创建fout.txt,并将内容复制到fout.txt中System.out.println("文件fout.txt:");Filef2=newFile("D:/fout.txt");f2.createNewFile();FileOutputStreamfouts=newFileOutputStream(f2);fouts.write(temp);//打印fin.txt文件的内容:Filef3=newFile("D:/fout.txt");FileInputStreamfins3=newFileInputStream(f3);intn3=fins3.available();bytetemp3[]=newbyte[n3];intkk3=fins3.read(temp3);Stringart3=newString(temp3);System.out.print(art3);}} 字节流不能直接操作Unicode字符。 所有字符输入流都是Reader(字符输入流)抽象类的子类,而所有字符输出流都是Writer(字符输出流)抽象类的子类。9.3.3使用字符流顺序读/写文件1.FileReader和FileWriter类 FileReader类的两种构造方法:1)FileReader(Stringname);2)FileReader(Filefile); FileWriter类的两种构造方法:1)FileWriter(Stringname);2)FileWriter(Fileafile);3)FileWriter(Stringname,booleanappend);4)FileWriter(Fileafile,booleanappend);9.3.3使用字符流顺序读/写文件2.FileReader类的常用方法intread()intread(charb[])voidclose()9.3.3使用字符流顺序读/写文件voidwrite(charb[])voidclose()3.FileWriter类的常用方法9.3.3使用字符流顺序读/写文件4.BufferedReader和BufferedWriter类 FileReader流经常和BufferedReader流配合使用;FileWriter流经常和BufferedWriter流配合使用。 BufferedReader流可以使用publicStringreadeLine()读取一行字符串;例:FileReaderfR=newFileReader(“d:/t.txt”);BufferedReaderbR=newBufferedReader(fR);Strings=bR.readLine();9.3.3使用字符流顺序读/写文件4.BufferedReader和BufferedWriter类 BufferedWriter流方法: voidwrite(Strings)将字符串s写入文件。 flush()方法可以确保数据缓冲器中的数据确实被写到实际的输出流。 例: FileWriterfW=newFileWriter(“c:/t.txt”); BufferedWriterbW=newBufferedWriter(fW); bW.write("你好!"); bW.flush();9.3.3使用字符流顺序读/写文件9.3数据流的使用2.如何使用文件流:例题:在d:\temp下建立temp.txt,利用BufferedWriter对象向文件输入字符“你好”,利用BufferedReader对象把temp.txt文件中的内容读出importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{ //创建文件Filedir=newFile("d:","temp");dir.mkdir();FileC=newFile(dir,"temp.txt");if(C.exists()){System.out.println("文件已经存在");}else{C.createNewFile();System.out.println("创建完成!");}//写入数据FileWriterB=newFileWriter(C);BufferedWriterD=newBufferedWriter(B);D.write("你好!");D.flush();D.close();B.close();//读出数据FileReaderA2=newFileReader(C);BufferedReaderB2=newBufferedReader(A2);Stringstr="";while((str=B2.readLine())!=null){ System.out.println("文件内容如下:"); System.out.println(str);}B2.close();A2.close();}}9.3数据流的使用使用文件流实现简单的留言板: 留言信息由作者,标题与留言内容三个部分组成。 通过标准输入流System.in获取用户输入的三部分信息,使用BufferedWriter将留言信息保存在d:\message.txt文件中。 使用BufferedReader将留言信息逐行读出。提示:1、存入文件的每条留言的结构为:”author&title&content\n”2、通过BufferedReader类的readLine()方法读取出留言后,使用StringTokenizer类对1中的留言结构进行分析,通过’&’字符析取出留言的三个部分,分别显示。3、如何为每条留言编号?如何将新留言插入文件尾部(追加记录)?importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{ //打印fin.txt文件的内容: System.out.println("文件fin.txt:");Filef1=newFile("D:/fin.txt");FileInputStreamfins=newFileInputStream(f1);intn=fins.available();bytetemp[]=newbyte[n];intkk=fins.read(temp);Stringart=newString(temp);System.out.print(art);/*for(intk=0;k<temp.length;k++){System.out.println(temp[k]);}*///创建fout.txt,并将内容复制到fout.txt中System.out.println("文件fout.txt:");Filef2=newFile("D:/fout.txt");f2.createNewFile();FileOutputStreamfouts=newFileOutputStream(f2);fouts.write(temp);//打印fin.txt文件的内容:Filef3=newFile("D:/fout.txt");FileInputStreamfins3=newFileInputStream(f3);intn3=fins3.available();bytetemp3[]=newbyte[n3];intkk3=fins3.read(temp3);Stringart3=newString(temp3);System.out.print(art3);}}importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{ //创建文件Filedir=newFile("d:","temp");dir.mkdir();FileC=newFile(dir,"temp.txt");if(C.exists()){System.out.println("文件已经存在");}else{C.createNewFile();System.out.println("创建完成!");}//写入数据FileWriterB=newFileWriter(C);BufferedWriterD=newBufferedWriter(B);D.write("你好!");D.flush();D.close();B.close();//读出数据FileReaderA2=newFileReader(C);BufferedReaderB2=newBufferedReader(A2);Stringstr="";while((str=B2.readLine())!=null){ System.out.println("文件内容如下:"); System.out.println(str);}B2.close();A2.close();}}
本文档为【第9讲 java的输入输出(二)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xxj7584
暂无简介~
格式:ppt
大小:118KB
软件:PowerPoint
页数:0
分类:建造师考试
上传时间:2020-03-20
浏览量:0