一、数据流
注意:使用data输出流写出数据后,在使用Data输入流读取时一定要保证读取的顺序和写出的顺序一致,否则数据出现错乱。
(一)、使用数据输入流完成数据的读取操作
1.声明数据输入流对象
DataInputStream dataInputStream=null;2.实例化数据输入流对象
dataInputStream=new DataInputStream(new FileInputStream(path));3.完成数据的读取操作
byte b=dataInputStream.readByte(); short s=dataInputStream.readShort(); int i=dataInputStream.readInt(); long l=dataInputStream.readLong(); float f=dataInputStream.readFloat(); double d=dataInputStream.readDouble(); char ch=dataInputStream.readChar(); boolean bool=dataInputStream.readBoolean(); String content=dataInputStream.readUTF(); System.out.println("b="+b+",s="+s+",i="+i+",l="+l+",float="+f+",double="+d+",ch="+ch+",bool="+bool+",content="+content);(二)、使用数据输出流完成对Java八大基本数据类型及其String数据类型的写出功能.
1.声明数据输出流对象
DataOutputStream dataOutputStream=null;2.实例化数据输出流对象
dataOutputStream=new DataOutputStream(new FileOutputStream(path));3.将java八大基本数据类型及其String数据类型写出到指定的文件中
dataOutputStream.writeByte(5); dataOutputStream.writeShort(10); dataOutputStream.writeInt(15); dataOutputStream.writeLong(20); dataOutputStream.writeFloat(25.0f); dataOutputStream.writeDouble(30.5d); dataOutputStream.writeChar('a'); dataOutputStream.writeBoolean(false); dataOutputStream.writeUTF("垂死病中惊坐起,今天还有学Java!");二、字节缓存流
(一)、使用缓存输入流对象完成对指定文件的读取操作
1.声明缓冲输入流对象
BufferedInputStream bufferedInputStream=null;2.实例化缓存输入流对象
bufferedInputStream=new BufferedInputStream(new FileInputStream(path));3.读取数据
byte[] buffer=new byte[10]; int len=0; while((len=bufferedInputStream.read(buffer))!=-1){ System.out.println(new String(buffer,0,len)); }4、关闭缓存输入流对象
bufferedInputStream.close(); //将缓存输入流对象垃圾化 bufferedInputStream=null;(二)、使用缓存输出流对象完成对指定路径中文件的写入操作
1、声明缓冲输出流对象
BufferedOutputStream bufferedOutputStream=null;2.实例化缓存输出流对象
bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(path));3.执行写出操作
bufferedOutputStream.write("众里寻他千百度,蓦然回首,那人正在低头学Java".getBytes()); //强制刷新缓冲区 bufferedOutputStream.flush();4、关闭缓存输出流对象
bufferedOutputStream.close(); //将缓存输出流对象垃圾化 bufferedOutputStream=null;三、字符缓存流
BufferedReader常用的方法: String readLine():一次从输入流中读取一行数据 BufferedWriter常用的方法: void newLine():向输出流对象中写出换行符 (一)、使用缓冲输入流对象完成对指定文件的读取操作
1、声明缓冲输入流对象
BufferedReader bufferedReader=null;2、实例化缓冲输入流对象
bufferedReader=new BufferedReader(new FileReader(path)); String line=null;3.执行读取操作
bufferedReader.readLine()如果返回值为null表示读取完毕 while((line=bufferedReader.readLine())!=null){ System.out.println(line); }4、关闭缓冲输入流对象
bufferedReader.close(); //将缓冲输入流对象垃圾化 bufferedReader=null;(二)、使用缓存输出流对象完成对指定文件的数据写入功能
1.声明缓冲输出流对象
BufferedWriter bufferedWriter=null;2.实例化缓冲输出流对象
bufferedWriter=new BufferedWriter(new FileWriter(path));3.完成写出操作
bufferedWriter.write("人生自古谁无死,来生再来学Java!"); bufferedWriter.newLine();//写出一个换行符,在window中写出\r\n,在Unix中写出\n bufferedWriter.write("春眠不觉晓,处处学Java!"); bufferedWriter.newLine(); //刷新缓冲区 bufferedWriter.flush();4、关闭缓存输出流对象
bufferedWriter.close(); //将缓存输出流对象垃圾化 bufferedWriter=null;四、 完成文本文件的复制操作
将源文件中的数据读取出来写出到目标文件中完成数据的复制
1、声明字符缓冲输入、输出流
BufferedReader bufferedReader=null; BufferedWriter bufferedWriter=null;2.实例化缓冲输入流、输出流对象并指定要操作的文件
bufferedReader=new BufferedReader(new FileReader(src)); bufferedWriter=new BufferedWriter(new FileWriter(dest));3、读取指定文件中的数据,并向指定文件中写入
String line=null; while((line=bufferedReader.readLine())!=null){ bufferedWriter.write(line); bufferedWriter.newLine(); } //刷新缓冲区 bufferedWriter.flush();4、关闭输入流对象、输出流对象
bufferedReader.close(); //将输入流对象垃圾化 bufferedReader=null; bufferedWriter.close(); //将输出流对象垃圾化 bufferedWriter=null;