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

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

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

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    Java 讀/寫文件文本文件的示例

    1/*
     * 簡單的讀/寫文本文件的示例
     * 這里包含了三個例子,即
     * 1. 將文件讀入到內存(這里是StringBuffer)的例子
     * 2. 將內容中的文本寫到文件
     * 3. 將一個文件的內容讀出來寫入另一個文件中
     *    同時也展示了如果從輸入流中讀出來內容寫入輸出流中(僅限文本流)
     * 三個例子可以獨立存在,所以根據需要只看其中一個就行了。
     */

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.PrintStream;
    import java.io.PrintWriter;

    public final class AccessTextFile {

        /**
         * 1. 演示將流中的文本讀入一個 StringBuffer 中
         * @throws IOException
         */
        public void readToBuffer(StringBuffer buffer, InputStream is)
            throws IOException {
            String line;        // 用來保存每行讀取的內容
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            line = reader.readLine();       // 讀取第一行
            while (line != null) {          // 如果 line 為空說明讀完了
                buffer.append(line);        // 將讀到的內容添加到 buffer 中
                buffer.append("\n");        // 添加換行符
                line = reader.readLine();   // 讀取下一行
            }
        }

        /**
         * 2. 演示將 StringBuffer 中的內容讀出到流中
         */
        public void writeFromBuffer(StringBuffer buffer, OutputStream os) {
            // 用 PrintStream 可以方便的把內容輸出到輸出流中
            // 其對象的用法和 System.out 一樣
            // (System.out 本身就是 PrintStream 對象)
            PrintStream ps = new PrintStream(os);  
            ps.print(buffer.toString());
        }

        /**
         * 3*. 從輸入流中拷貝內容到輸入流中
         * @throws IOException
         */
        public void copyStream(InputStream is, OutputStream os) throws IOException {
            // 這個讀過過程可以參閱 readToBuffer 中的注釋
            String line;
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
            line = reader.readLine();
            while (line != null) {
                writer.println(line);
                line = reader.readLine();
            }
            writer.flush();     // 最后確定要把輸出流中的東西都寫出去了
                                // 這里不關閉 writer 是因為 os 是從外面傳進來的
                                // 既然不是從這里打開的,也就不從這里關閉
                                // 如果關閉的 writer,封裝在里面的 os 也就被關了
        }

        /**
         * 3. 調用 copyStream(InputStream, OutputStream) 方法拷貝文本文件
         */
        public void copyTextFile(String inFilename, String outFilename)
            throws IOException {
            // 先根據輸入/輸出文件生成相應的輸入/輸出流
            InputStream is = new FileInputStream(inFilename);
            OutputStream os = new FileOutputStream(outFilename);
            copyStream(is, os);     // 用 copyStream 拷貝內容
            is.close(); // is 是在這里打開的,所以需要關閉
            os.close(); // os 是在這里打開的,所以需要關閉
        }

        public static void main(String[] args) throws IOException {
            int sw = 1;     // 三種測試的選擇開關
            AccessTextFile test = new AccessTextFile();
           
            switch (sw) {
            case 1: // 測試讀
            {
                InputStream is = new FileInputStream("E:\\test.txt");
                StringBuffer buffer = new StringBuffer();
                test.readToBuffer(buffer, is);
                System.out.println(buffer);     // 將讀到 buffer 中的內容寫出來
                is.close();
                break;
            }
            case 2: // 測試寫
            {
                StringBuffer buffer = new StringBuffer("Only a test\n");
                test.writeFromBuffer(buffer, System.out);
                break;
            }
            case 3: // 測試拷貝
            {
                test.copyTextFile("E:\\test.txt", "E:\\r.txt");
            }
                break;
            }
        }

    }

    posted on 2006-02-22 22:10 都市淘沙者 閱讀(1481) 評論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

    主站蜘蛛池模板: 国产午夜亚洲精品午夜鲁丝片 | 国产一区二区三区免费视频| 99久久99久久精品免费观看| 国产无遮挡裸体免费视频在线观看 | 久久久久久久免费视频| 亚洲精品免费观看| 日韩a毛片免费观看| 亚洲综合色一区二区三区小说| 亚洲无删减国产精品一区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 在线看片免费人成视频福利| 免费一级毛片在线播放放视频 | 精品亚洲国产成人av| 久久亚洲日韩看片无码| 亚洲AV无码国产在丝袜线观看| 亚洲精品网站在线观看不卡无广告 | 久久亚洲国产精品五月天| 亚洲午夜日韩高清一区| 全亚洲最新黄色特级网站| 好男人视频社区精品免费| 成人免费午夜无码视频| 久久免费高清视频| 波多野结衣免费一区视频| aa毛片免费全部播放完整| eeuss免费天堂影院| 一本一道dvd在线观看免费视频 | 国产成人A亚洲精V品无码| 亚洲人成网站色在线入口| 亚洲乱码中文字幕手机在线| 亚洲男人在线无码视频| 久久亚洲欧洲国产综合| 国产亚洲老熟女视频| 三上悠亚亚洲一区高清| 好看的亚洲黄色经典| 久久久亚洲精品无码| 亚洲自偷自偷精品| 亚洲高清视频免费| 亚洲 日韩经典 中文字幕| 亚洲男人的天堂网站| 欧洲精品码一区二区三区免费看| 污视频网站在线免费看|