緩衝流
作用:
用緩衝區來完成數據的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();