一、FileReader詳解 1.java.io.Reader java.io.InputStreamReader;轉換流(位元組輸入流 >字元輸入流) java.io.FileReader;文件字元輸入流 2.java.io.Writer java.io.OutputStreamWriter;轉換 ...
一、FileReader詳解
1.java.io.Reader
java.io.InputStreamReader;轉換流(位元組輸入流--->字元輸入流)
java.io.FileReader;文件字元輸入流
2.java.io.Writer
java.io.OutputStreamWriter;轉換流(位元組輸出流-->位元組輸出流)
java.io.FileWriter;文件字元輸出流
package com.bjpowernode.java_learning; import java.io.*; public class D98_1_FileReaderAnalysis { public static void main(String[] args) { FileReader fr = null; FileWriter fw = null; try { //創建文件字元輸入流 fr = new FileReader("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt"); //開始讀 char[] chars = new char[512];//1kb int temp = 0; while((temp=fr.read(chars)) != -1) { //將char數組有效部分轉換為字元串 System.out.println(new String(chars,0,temp)); //有一好處,讀取文本類不會出現亂碼,因為每次讀取一個字元,而不是位元組 } //創建文件字元輸出流 fw = new FileWriter("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp2.txt"); //開始寫 fw.write("牛逼!"); //將char數組的一部分寫入 char[] chars2 = { '我','是','中','國','人' }; fw.write(chars2); //刷新 fw.flush(); //關閉 fw.close(); //文件複製,只能複製純文本文件 FileReader fr2 = new FileReader("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt"); FileWriter fr3 = new FileWriter("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp2.txt"); char[] chars3 = new char[512]; int temp2 = 0; while((temp2=fr2.read())!= -1) { fr3.write(chars3,0,temp2); } fr3.flush(); fr3.close(); }catch(Exception e) { e.printStackTrace(); }finally { } } }
二、源碼:
D98_1_FileReaderAnalysis.java
D97_2_CompleteCopyFile.java
https://github.com/ruigege66/Java/blob/master/D98_1_FileReaderAnalysis.java
https://github.com/ruigege66/Java/blob/master/D97_2_CompleteCopyFile.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料