<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0
    Java IO系統里讀寫文件使用Reader和Writer兩個抽象類,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法為抽象方法。子類應該分別實現他們。
    Java IO已經為我們提供了三個方便的Reader的實現類,FileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader, 它是字節轉換為字符的橋梁。你可以在構造器重指定編碼的方式,如果不指定的話將采用底層操作系統的默認編碼方式,例如GBK等。

    FileReader讀txt文件例子
    FileReader fr = new FileReader("D:\\test.txt");
    int ch = 0;  
    while((ch = fr.read())!=-1 ){  
        System.out.print( (char)ch );  
    其中read()方法返回的是讀取得下個字符。

    InputStreamReader讀txt文件例子
    InputStream is = new FileInputStream(new File("D:\\test.txt"));  
    InputStreamReader reader = new InputStreamReader(is);  
    int ch = 0;    
    while((ch = reader.read())!=-1 ){    
        System.out.print((char)ch);    
    }    
    這和FileReader并沒有什么區別,事實上在FileReader中的方法都是從InputStreamReader中繼承過來的。 read()方法是比較好費時間的,如果為了提高效率,我們可以使用BufferedReader對Reader進行包裝,這樣可以提高讀取得速度,我們可以一行一行的讀取文本,使用 readLine()方法。
    BufferedReader br = new BufferedReader(new FileReader("D:\\test.txt"));  
    String line = null;
    while((line = br.readLine()) != null){  
          System.out.println(line);  
    }  
    當你明白了如何用Reader來讀取文本文件的時候那么用Writer寫文件同樣非常簡單。有一點需要注意,當你寫文件的時候,為了提高效率,寫入的數據會先放入緩沖區,然后寫入文件。因此有時候你需要主動調用flush()方法。

    有讀就有寫,寫文本文件可以使用PrintWriter,FileWriter,BufferedWriter。
    FileWriter fw = new FileWriter("D:\\test01.txt");    
    String s = "hello world!\n";    
    fw.write(s,0,s.length());    
    fw.flush();    
      
    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:\\test02.txt"));    
    osw.write(s,0,s.length());    
    osw.flush();    
      
    PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:\\test03.txt")),true);    
    pw.println(s);    
      
    fw.close();    
    osw.close();    
    pw.close(); 

    如果想在文件末尾追加內容,聲明加個true就加一個"true"就可以了:FileWriter fw = new FileWriter("log.txt",true);
    下面是一個BufferedWriter的例子:
    File file = new File("D:\\test.txt");  
    File dest = new File("D:\\test01.txt");  
    try {  
        BufferedReader reader = new BufferedReader(new FileReader(file));  
        BufferedWriter writer  = new BufferedWriter(new FileWriter(dest));  
        String line = reader.readLine();  
        while(line!=null){  
            writer.write(line);  
            line = reader.readLine();  
        }  
        writer.flush();
        reader.close();
        writer.close();
    catch (FileNotFoundException e) {  
        e.printStackTrace();  
    catch (IOException e) {  
        e.printStackTrace();  

    最后寫的程序用于簡單的文件讀寫操作。FileHelper類中的readFile方法用于讀取文件內容,writeFile方法用于向文件中寫入內容。
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;



    public class FileHelper {
        public static String readFile(String filename) throws Exception {
            BufferedReader reader = new BufferedReader(new FileReader(filename));  
            String ans = "", line = null;
            while((line = reader.readLine()) != null){
                ans += line + "\r\n";
            }
            reader.close();
            return ans;
        }
        public static void writeFile(String content, String filename) throws Exception {
            BufferedWriter writer  = new BufferedWriter(new FileWriter(filename));
            writer.write(content);
            writer.flush();
            writer.close();
        }
        public static void main(String[] args) throws Exception {
            String ans = readFile("D:\\input.txt");
            writeFile(ans, "D:\\output.txt");
        }
    }
    posted on 2015-03-04 13:26 marchalex 閱讀(280) 評論(0)  編輯  收藏 所屬分類: java小程序
    主站蜘蛛池模板: 女性无套免费网站在线看| 免费看小12萝裸体视频国产 | 日韩a级毛片免费视频| 国产精品亚洲高清一区二区| 久久久亚洲欧洲日产国码是AV | 深夜免费在线视频| 7m凹凸精品分类大全免费| 四虎永久免费地址在线网站| 日韩va亚洲va欧洲va国产| 亚洲日本一线产区和二线 | 国产亚洲A∨片在线观看| 2020久久精品亚洲热综合一本 | 一级毛片免费观看不卡的| 国产一区二区三区免费在线观看 | 四虎在线成人免费网站| 亚洲精品无码日韩国产不卡?V| 亚洲欧洲校园自拍都市| 久久国产乱子伦精品免费午夜| 无限动漫网在线观看免费| 国产成人亚洲综合无码精品| 亚洲av无码成人精品国产| 99re在线这里只有精品免费| 亚洲国产精品第一区二区三区| 色偷偷亚洲女人天堂观看欧| 国产免费一区二区三区在线观看| 日日操夜夜操免费视频| 亚洲欧洲自拍拍偷综合| 久青草视频在线观看免费| 国产一区二区三区免费看| 精品亚洲AV无码一区二区三区| 日本高清不卡aⅴ免费网站| 国产高清视频在线免费观看| 亚洲短视频在线观看| a成人毛片免费观看| 又粗又硬免费毛片| 亚洲卡一卡二卡乱码新区| 99精品视频在线视频免费观看 | 国产伦一区二区三区免费| 亚洲AV成人无码天堂| 91精品国产免费久久国语麻豆| 国产亚洲一区二区三区在线不卡|