Java基礎IO流介紹之五——什麼是字元流過濾流、常用的字元過濾流有哪些
阿新 • • 發佈:2021-06-26
字元流的過濾流
1、字元緩衝流——BufferedReader/BufferedWriter
1、構造方法
BufferedReader(Reader in)
建立使用預設大小的輸入緩衝區的緩衝字元輸入流。
BufferedWriter(Writer out)
建立使用預設大小的輸出緩衝區的緩衝字元輸出流。
2、常用方法
BufferedReader:
String readLine()
讀一行文字。
BufferedWriter:
void newLine() : 不同的作業系統 換行符不一樣
寫一行行分隔符。
//案例: import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class Demo12 { public static void main(String[] args) throws Exception{ //建立兩個File物件 File srcFile = new File("file/a.txt"); //建立節點字元流 FileReader fileReader = new FileReader(srcFile); //增強功能 BufferedReader bufferedReader = new BufferedReader(fileReader); // String s1 = bufferedReader.readLine(); // System.out.println(s1); // // String s2 = bufferedReader.readLine(); // System.out.println(s2); // String s; // while ((s = bufferedReader.readLine())!=null){ // System.out.println(s); // } bufferedReader.close(); } } //案例2: import java.io.*; public class Demo12 { public static void main(String[] args) throws Exception{ //建立兩個File物件 File srcFile = new File("file/a.txt"); //建立字元流 節點流 FileWriter fileWriter = new FileWriter(srcFile); //過濾流 BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.write("春眠不覺曉"); bufferedWriter.newLine(); bufferedWriter.write("處處蚊子咬"); bufferedWriter.newLine(); bufferedWriter.write("夜來風雨聲"); bufferedWriter.newLine(); bufferedWriter.write("大包知多少"); bufferedWriter.newLine(); bufferedWriter.close(); } }
2、PrintWriter流
1、概述
PrintWriter介紹:
是Writer子類,是字元流,有一個緩衝區,就涉及到一個重新整理的功能。
和PrintStream一樣,也是有很多的print和println的方法,其中列印的方法也基本相同
提供了帶有自動重新整理的功能,但是開啟自動重新整理僅僅對println()、printf()、format()方法有效
2、構造方法
方法名 | 說明 |
---|---|
PrintWriter(File file) | 使用指定檔案建立不具有自動行重新整理的新 PrintWriter。 |
PrintWriter(OutputStream out) | 根據現有的 OutputStream 建立不帶自動行重新整理的新 PrintWriter。 |
PrintWriter(OutputStream out, boolean autoFlush) | 通過現有的 OutputStream 建立新的 PrintWriter。 |
PrintWriter(String fileName) | 建立具有指定檔名稱且不帶自動行重新整理的新 PrintWriter。 |
PrintWriter(Writer out) | 建立不帶自動行重新整理的新 PrintWriter。 |
PrintWriter(Writer out, boolean autoFlush) | 建立新 PrintWriter。自動重新整理 |
//案例:
import java.awt.datatransfer.FlavorEvent;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
public class Demo13 {
public static void main(String[] args) throws Exception {
File file = new File("file/a.txt");
//PrintWriter printWriter = new PrintWriter(file);
FileOutputStream fileOutputStream = new FileOutputStream(file);
PrintWriter printWriter = new PrintWriter(fileOutputStream,true);
//PrintWriter printWriter = new PrintWriter(System.out);
printWriter.println("所說的發生發撒打發十分大");
}
}