FileReader和FileWriter讀寫文件,以及拷貝文件。

簡介

如果看了上一篇 FileInputStream和FileOutputStream讀寫文件,然後實現文件的拷貝那麼對與這篇就是小菜一碟。唯一區別在於上一個是基於字節流,這個基於字符流。字節流就用byte數組充當緩存,字符流用char數組即可。

文件拷貝

package FileReaderWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class FileChar {
    public static void main(String[] args) throws IOException {
        Scanner input=new Scanner(System.in);
        //寫
        System.out.println("請輸入文件名:");
        String name=input.next();
        File file=new File(name+".txt");
        System.out.println("請輸入要寫入的內容:");
        String str=input.next();
        FileWriter fw=new FileWriter(file,true);
//        char []cha=str.toCharArray();
//        fw.write(cha,0,cha.length);
        fw.write(str);//writ()參數裏面有寫入字符串類型的
        fw.flush();//刷新流
        fw.close();
        System.out.println("寫入完畢!");

        //讀
        FileReader fr=new FileReader(file);
        char chars[]=new char[512];  //每次最多讀1kb
        int temp=0;
        while((temp=fr.read(chars))!=-1){
            System.out.println(new String(chars,0,temp));
        }
        fr.close();
    }
}

當我們在寫文件時,可以將要寫入的數據轉換成char數組,然後再通過write(數組名,0,數組的長度)寫入,也可以直接通過write(字符串)。String就相當於由多個字符組成,char數組保存的就是多個字符。

文件拷貝

package FileReaderWriter;

import java.io.*;

public class Copy_Char {
    public static void main(String[] args) throws IOException {
        File file=new File("1.txt");
        if(!file.isFile()){
            System.out.println("文件不存在,無法拷貝!");
            return;
        }
        FileReader fr=new FileReader(file);
        FileWriter fw=new FileWriter("src\\"+file.getName()); //拷貝到src下面
        char chars[]=new char[512];
        int temp=0;
        while ((temp=fr.read(chars))!=-1){
            fw.write(chars,0,temp);
        }
        fw.flush();
        fw.close();
        fr.close();
        System.out.println("拷貝成功!");
    }
}

Java中對文件進行操作時,就會用這4個文件流:FileOutputStream,FileInputStream,FileReader,FileWriter。然後根據需求選擇合適的流。


    每日雞湯:請不要假裝很努力,因爲結果不會陪你演戲!


Over!

發佈了33 篇原創文章 · 獲贊 41 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章