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

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

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

    KevinGong

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      15 Posts :: 1 Stories :: 9 Comments :: 0 Trackbacks

    2007年2月3日 #

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

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

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

    ??? /**
    ???? * 3*. 從輸入流中拷貝內(nèi)容到輸入流中
    ???? * @throws IOException
    ???? */
    ??? public void copyStream(InputStream is, OutputStream os) throws IOException {
    ??????? // 這個(gè)讀過(guò)過(guò)程可以參閱 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();???? // 最后確定要把輸出流中的東西都寫(xiě)出去了
    ??????????????????????????? // 這里不關(guān)閉 writer 是因?yàn)?os 是從外面?zhèn)鬟M(jìn)來(lái)的
    ??????????????????????????? // 既然不是從這里打開(kāi)的,也就不從這里關(guān)閉
    ??????????????????????????? // 如果關(guān)閉的 writer,封裝在里面的 os 也就被關(guān)了
    ??? }

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

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

    }

    posted @ 2007-02-03 21:58 KevinGong 閱讀(31697) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 老司机亚洲精品影院在线观看| 亚洲av无码专区国产乱码在线观看| 亚洲成人免费在线观看| 最近免费中文字幕大全免费版视频 | 免费无码A片一区二三区| 亚洲制服丝袜在线播放| 18禁网站免费无遮挡无码中文| 亚洲国产中文在线二区三区免| 亚洲一级免费毛片| 亚洲国产精品一区二区三区在线观看| 欧美a级成人网站免费| 亚洲砖码砖专无区2023| 国产精品va无码免费麻豆| 菠萝菠萝蜜在线免费视频| 超清首页国产亚洲丝袜| 久久久久久久99精品免费| 亚洲经典在线中文字幕| 日韩av无码成人无码免费| 亚洲AV电影天堂男人的天堂| 亚洲高清国产拍精品青青草原| 成在线人免费无码高潮喷水| 亚洲久本草在线中文字幕| 免费看美女裸露无档网站| 亚洲av无码专区在线电影| 亚洲色欲久久久久综合网| 免费国产成人α片| 国产精品高清视亚洲精品| 可以免费观看的一级毛片| a国产成人免费视频| 亚洲一区中文字幕在线电影网| 国产免费131美女视频| 99久久免费国产精品热| 亚洲人成电影在线观看青青| 亚洲AV无码成H人在线观看| 免费国产在线视频| 亚洲gay片在线gv网站| 久久亚洲综合色一区二区三区| 成人在线视频免费| 久久国产乱子精品免费女| 亚洲熟妇成人精品一区| 国产亚洲av片在线观看播放|