java IO流 之 字符流。本站提示廣大學習愛好者:(java IO流 之 字符流)文章只能為提供參考,不一定能成為您想要的結果。以下是java IO流 之 字符流正文
字符流 :讀的也是二進制文件,他會幫我們解碼成我們看的懂的字符。
字符流 = 字節流 + 解碼
(一)字符輸出流:Reader : 它是字符輸出流的根類 ,是籠統類
FileReader :文件字符輸出流 ,讀取字符串。
用法:
1.找到目的文件
2.樹立數據的通道
3.樹立一個緩沖區
4.讀取數據
5.封閉資源。
(二)字符流輸入流: Writer : 字符輸入流的根類 ,籠統的類
FileWiter :文件數據的輸入字符流
運用留意點:
1.FileReader外部維護了一個1024個字符的數組,所以在寫入數據的時分,它是現將數據寫入到外部的字符數組中。
假如需求將數據寫入到硬盤中,需求用到flush()或許封閉或許字符數組數據存滿了。
2.假如我需求向文件中追加數據,需求運用new FileWriter(File , boolean)結構辦法 ,第二參數true
3.假如指定的文件不存在,也會自己創立一個。
字符輸入流復雜案例
1 import java.io.File; 2 import java.io.FileWriter; 3 import java.io.IOException; 4 5 public class fileWriter { 6 7 /** 8 * @param args 9 * @throws IOException 10 */ 11 public static void main(String[] args) throws IOException { 12 // TODO Auto-generated method stub 13 testFileWriter(); 14 15 } 16 17 public static void testFileWriter() throws IOException{ 18 19 //1.找目的文件 20 File file = new File("D:\\a.txt"); 21 //2.樹立通道 22 FileWriter fwt = new FileWriter(file,true); //在文件前面持續追加數據 23 //3.寫入數據(直接寫入字符) 24 fwt.write("持續講課"); 25 //4.封閉數據 26 fwt.close(); 27 } 28 }
字符輸出流復雜案例
1 import java.io.File; 2 import java.io.FileReader; 3 import java.io.IOException; 4 5 public class fileReader { 6 7 public static void main(String[] args) throws IOException { 8 9 //testFileReader(); 10 testFileReader2(); 11 } 12 //(1)輸出字符流的運用 這種方式效率太低。 13 public static void testFileReader() throws IOException{ 14 15 //1.找目的文件 16 File file = new File("D:\\a.txt"); 17 18 //2.樹立通道 19 FileReader frd = new FileReader(file); 20 21 //3.讀取數據 22 int content = 0; //讀取單個字符。效率低 23 while ((content = frd.read()) != -1) { 24 System.out.print((char)content); 25 } 26 27 //4.封閉流 28 frd.close(); 29 } 30 31 //(2) 32 public static void testFileReader2() throws IOException{ 33 34 //1.找目的文件 35 File file = new File("D:\\a.txt"); 36 37 //2.樹立通道 38 FileReader frd = new FileReader(file); 39 40 //3.樹立一個緩沖區 ,字符數組 41 char[] c = new char[1024]; 42 int length = 0; 43 44 //4.讀取數據 45 while ((length = frd.read(c))!= -1) { 46 //字符串輸入 47 System.out.println(new String(c,0,length)); 48 } 49 //5.封閉資源 50 frd.close(); 51 } 52 }