日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java FileReader与FileWriter讲解

發布時間:2025/3/15 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java FileReader与FileWriter讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FileReader與FileWriter講解

Reader

  • int read()
    讀取單個字符。作為整數讀取的字符,范圍在 0 到 65535 之間 (0x00-0xffff)(2個字節的Unicode碼),如果已到達流的末尾,則返回 -1
  • int read(char[] cbuf)
    將字符讀入數組。如果已到達流的末尾,則返回 -1。否則返回本次讀取的字符數。
  • int read(char[] cbuf,int off,int len)
    將字符讀入數組的某一部分。存到數組cbuf中,從off處開始存儲,最多讀len個字符。如果已到達流的末尾,則返回 -1。否則返回本次讀取的字符數。
  • public void close() throws IOException
    關閉此輸入流并釋放與該流關聯的所有系統資源

Writer

  • void write(int c)
    寫入單個字符。要寫入的字符包含在給定整數值的 16 個低位中,16 高位被忽略。 即寫入0 到 65535 之間的Unicode碼。
  • void write(char[] cbuf)
    寫入字符數組。
  • void write(char[] cbuf,int off,int len)
    寫入字符數組的某一部分。從off開始,寫入len個字符
  • void write(String str)
    寫入字符串。
  • void write(String str,int off,int len)
    寫入字符串的某一部分。
  • void flush()
    刷新該流的緩沖,則立即將它們寫入預期目標。
  • public void close() throws IOException
    關閉此輸出流并釋放與該流關聯的所有系統資源。

讀取文件

1.建立一個流對象,將已存在的一個文件加載進流。
FileReader fr = new FileReader(new File(“Test.txt”));
2.創建一個臨時存放數據的數組。
char[] ch = new char[1024];
3.調用流對象的讀取方法將流中的數據讀入到數組中。
fr.read(ch);
4. 關閉資源。
fr.close();

package BYSSSExer1;import org.junit.Test;import java.io.File; import java.io.FileReader; import java.io.IOException;/*** @author Baiysmart* @create 2020-03-27 10:57*/ public class Reader {//對read()操作升級:使用read的重載方法//方式一@Testpublic void testFileReader1() throws IOException {//1 File類的實例化File file1 = new File("hello.txt");//2 FileReader流的實例化FileReader fr = new FileReader(file1);//3 讀入的操作//read(char[] cbuf):返回每次讀入cbuf數組中字符的geshu//如果達到文件末尾,返回-1char[] cbuf = new char[5];int len;while ((len=fr.read(cbuf))!=-1){for (int i =0;i<len;i++){System.out.print(cbuf[i]);}}//4 資源的關閉fr.close();}//方式二@Testpublic void testFileReader2() throws IOException {//1 File類的實例化File file2 = new File("hello.txt");//2 FileReader流的實例化FileReader fr2 = new FileReader(file2);//3 讀入的操作char[] cbuf2 = new char[5];int len;while ((len=fr2.read(cbuf2))!=-1){String str = new String(cbuf2,0,len);System.out.print(str);}//4 資源的關閉fr2.close();} }

寫入文件

1.創建流對象,建立數據存放文件
FileWriter fw = new FileWriter(new File(“Test.txt”));
2.調用流對象的寫入方法,將數據寫入流
fw.write(“atguigu-songhongkang”);
3.關閉流資源,并將流中的數據清空到文件中。
fw.close();

package BYSSSExer1;import org.junit.Test;import java.io.File; import java.io.FileWriter; import java.io.IOException;/*** @author Baiysmart* @create 2020-03-27 11:12*/ public class Writer {/*從內存中寫出數據到硬盤的文件里。說明:1輸出操作,對應的File可以不存在。并且不會報異常2 File對應的硬盤中的文件如果不存在,在輸出的過程中,會自動創建此文件File對應的硬盤中的文件如果存在如果流使用的構造器是:FileWiter(file,false)/FileWirter(file):對原有文件進行覆蓋如果流使用的構造器是:FileWriter(file,true):不會對原有文件覆蓋會在原有文件內容的基礎上進行追加*/@Testpublic void testFileWriter1() throws IOException {//1 提供File類的對象,指明寫出到的文件File file = new File("hello1.txt");//2.提供FileWriter對象,用于數據的寫出FileWriter fw = new FileWriter(file);//3,寫出操作fw.write("I love pipi\n");fw.write("pipi love me");//4 資源的關閉fw.close();}@Testpublic void testFileWriter2() throws IOException {//1 提供File類的對象,指明寫出到的文件File file = new File("hello1.txt");//2 提供FileWriter對象,用于數據的寫出FileWriter fw = new FileWriter(file,true);//3 數據的寫入fw.write("hahahahah\n");fw.write("85787587578578578");//4 資源的關閉fw.close();} }

實現文件的復制

package BYSSSExer1;import org.junit.Test;import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;/*** @author Baiysmart* @create 2020-03-27 11:33*/ public class CopyFileTest {@Testpublic void testFileReaderFileWriter() throws IOException {//1 創建File類的對象,指明讀入和寫出的文件File srcFile = new File("hello1.txt");File destFile = new File("hello2.txt");//2 創建輸入流和輸出流的對象FileReader fr = new FileReader(srcFile);FileWriter fw = new FileWriter(destFile);//3 數據的讀入和寫出操作char[] cbuf = new char[5];int len;while ((len=fr.read(cbuf))!=-1){fw.write(cbuf,0,len);}//4 資源的關閉fr.close();fw.close();}}

注意點

字符流操作字符,只能操作普通文本文件。最常見的文本文件:.txt,.java,.c,.cpp 等語言的源代碼。尤其注意.doc,excel,ppt這些不是文本文件。

后續將對IO流進行全面的總結以及詳細解釋

總結

以上是生活随笔為你收集整理的Java FileReader与FileWriter讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。