缓冲流
作用:
用缓冲区来完成数据的IO操作
提高读写效率
BufferedInputStream(字节缓冲输入流)
BufferedInputStream类读取文本内容
第一种读取方法
//创建FileInputStream对象
FileInputStream fileInputStream = new FileInputStream("src/a.txt");
//创建BufferedInputStream对象
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
//通过read方法读取文件内容
byte[] b =new byte[1024];
int i =0;
String str ="";
while((i=bufferedInputStream.read(b))!=-1) {
str+=new String(b,0,i);
}
System.out.println(str);
}
第二种读取方法
//创建FileInputStream对象
FileInputStream fileInputStream = new FileInputStream("src/a.txt");
//创建BufferedInputStream对象
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
//通过read方法读取文件内容
byte[] b =new byte[1024];
int i =0;
String str ="";
while((i=bufferedInputStream.read())!=-1) {
str+=(char)i;
}
System.out.println(str);
}
BuffereOutputStream(字节缓冲输出流)
BuffereOutputStream写入文件内容
不追加,直接覆盖
//创建FileOutputStream对象
FileOutputStream fileOutputStream = new FileOutputStream("src/a.txt");
//创建BufferedOutputStream对象
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
//通过write()方法写入文件内容
bufferedOutputStream.write("浩哥好帅".getBytes());
//刷新
bufferedOutputStream.flush();
//关流
bufferedOutputStream.close();
追加,不覆盖,在原来的基础上添加内容
//创建FileOutputStream对象
//创建该对象时添加一个参数true,该参数表示追加
FileOutputStream fileOutputStream = new FileOutputStream("src/a.txt",true);
//其他代码同上
BufferedReader(字符缓冲输入流)
BufferedReader类读取磁盘文件内容
//这个是bufferedReader独有的方法,还有一些读取方法与fileInputStream相同
//创建FileReader对象
FileReader fileReader = new FileReader("src/a.txt");
//创建BufferedReader对象
BufferedReader bufferedReader = new BufferedReader(fileReader);
//通过read方法读取文件内容
String readLine = bufferedReader.readLine();
System.out.println(readLine);
BufferedWriter(字符缓冲输出流)
不追加
//创建FileWriter对象
FileWriter fileWriter = new FileWriter("src/a.txt");
//创建BufferedWriter对象
BufferedWriter bw = new BufferedWriter(fileWriter);
//通过write方法写入文件内容
bw.write("aaaaaaaaaaaxxxxxxxxxxxxxcccccccccc");
bw.flush();
bw.close();
追加
//创建该对象时添加一个参数true,该参数表示追加
FileWriter fileWriter = new FileWriter("src/a.txt",true);
//其他代码同上
转换流
作用:
能够把字节流转换成字符流
能够对字符流进行转码的操作
转换处理流: 是将字节流按照指定字符编码进行转换的的处理流
InputStreamReader(转换输入流)
//创建FileInputStream对象
FileInputStream fis = new FileInputStream("src/a.txt");
//创建InputStreamReader对象
InputStreamReader inputStreamReader = new InputStreamReader(fis,"GBK");
int i=0;
String str ="";
while((i=inputStreamReader.read())!=-1) {
str+=(char)i;
}
System.out.println(str);
}
OutputStreamWriter(转换输出流)
不追加
//创建FileOutputStream对象
FileOutputStream fos = new FileOutputStream("src/a.txt");
//创建OutputWriter对象
OutputStreamWriter ops = new OutputStreamWriter(fos);
//通过write写入文本内容
ops.write("浩哥好帅啊啊");
//必须刷新之后才会有结果
ops.flush();
追加
//创建该对象时添加一个参数true,该参数表示追加
FileOutputStream fos = new FileOutputStream("src/a.txt",true);
//其他代码同上
打印流
作用: 方便输出流打印数据值
PrintStream(字节打印流)
输出磁盘文件内容
//创建PrintStream对象
PrintStream printStream = new PrintStream("src/a.txt");
//通过print方法写入文件内容
printStream.print("浩哥真的222222222222很帅");
printStream.print("11111111111111浩哥真的很帅");
//刷新
printStream.flush();
//关流
printStream.close();
}
PrintWriter(字符打印流)
PrintWriter类输出磁盘文件
//创建PrintWriter对象
PrintWriter pw = new PrintWriter("src/a.txt");
//通过print方法写入文件内容
pw.print("-----------------------");
pw.print("+++++++++++++++++++++++");
//刷新
pw.flush();
//关流
pw.close();