Java数据流、缓存流

mac2024-03-24  30

一、数据流

注意:使用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;

 

最新回复(0)