<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系統(tǒng)里讀寫文件使用Reader和Writer兩個抽象類,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法為抽象方法。子類應該分別實現(xiàn)他們。
    Java IO已經(jīng)為我們提供了三個方便的Reader的實現(xiàn)類,F(xiàn)ileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader, 它是字節(jié)轉(zhuǎn)換為字符的橋梁。你可以在構(gòu)造器重指定編碼的方式,如果不指定的話將采用底層操作系統(tǒng)的默認編碼方式,例如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并沒有什么區(qū)別,事實上在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寫文件同樣非常簡單。有一點需要注意,當你寫文件的時候,為了提高效率,寫入的數(shù)據(jù)會先放入緩沖區(qū),然后寫入文件。因此有時候你需要主動調(diào)用flush()方法。

    有讀就有寫,寫文本文件可以使用PrintWriter,F(xiàn)ileWriter,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(); 

    如果想在文件末尾追加內(nèi)容,聲明加個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方法用于讀取文件內(nèi)容,writeFile方法用于向文件中寫入內(nèi)容。
    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小程序
    主站蜘蛛池模板: 无码专区AAAAAA免费视频| 免费无码一区二区三区蜜桃| 2022久久国产精品免费热麻豆| 国产成人亚洲综合无码| 国产公开免费人成视频| 亚洲欧洲无码AV不卡在线| 国产免费人成视频尤勿视频 | 久久不见久久见免费影院www日本| 国产精品成人免费综合| 最新国产AV无码专区亚洲| 日本视频免费观看| 亚洲一区二区免费视频| 亚洲a视频在线观看| 日批视频网址免费观看| 成人免费视频软件网站| 亚洲美女自拍视频| 中文字幕免费在线观看动作大片| 在线日韩日本国产亚洲| 久久免费精彩视频| 在线观看亚洲AV日韩A∨| 三年片在线观看免费大全电影| 久久99亚洲网美利坚合众国| 四虎永久在线观看免费网站网址| 亚洲综合色一区二区三区| 免费大片在线观看网站| 亚洲精品精华液一区二区| 亚洲男人的天堂一区二区| 日本亚洲色大成网站www久久 | 四虎在线播放免费永久视频 | 亚洲国产熟亚洲女视频| 四虎免费影院4hu永久免费| 成人免费无码H在线观看不卡| 91在线亚洲精品专区| 免费精品一区二区三区在线观看| 亚洲成av人片不卡无码| 免费无码看av的网站| 成人黄网站片免费视频| 亚洲jizzjizz在线播放久| 国产亚洲av人片在线观看| 免费无码又爽又刺激聊天APP| 亚洲成a人片毛片在线|