欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單的用java實(shí)現(xiàn)讀/寫文本文件的示例

 更新時(shí)間:2008年07月26日 13:09:26   作者:  
同時(shí)也展示了如果從輸入流中讀出來內(nèi)容寫入輸出流中(僅限文本流) 三個(gè)例子可以獨(dú)立存在,所以根據(jù)需要只看其中一個(gè)就行了。
/*  
 * 簡單的讀/寫文本文件的示例  
 * 這里包含了三個(gè)例子,即  
 * 1. 將文件讀入到內(nèi)存(這里是StringBuffer)的例子  
 * 2. 將內(nèi)容中的文本寫到文件  
 * 3. 將一個(gè)文件的內(nèi)容讀出來寫入另一個(gè)文件中  
 *    同時(shí)也展示了如果從輸入流中讀出來內(nèi)容寫入輸出流中(僅限文本流)  
 * 三個(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;        // 用來保存每行讀取的內(nèi)容   
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));   
        line = reader.readLine();       // 讀取第一行   
        while (line != null) {          // 如果 line 為空說明讀完了   
            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è)讀過過程可以參閱 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();     // 最后確定要把輸出流中的東西都寫出去了   
                            // 這里不關(guān)閉 writer 是因?yàn)?nbsp;os 是從外面?zhèn)鬟M(jìn)來的   
                            // 既然不是從這里打開的,也就不從這里關(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 是在這里打開的,所以需要關(guān)閉   
        os.close(); // os 是在這里打開的,所以需要關(guān)閉   
    }   

    public static void main(String[] args) throws IOException {   
        int sw = 1;     // 三種測試的選擇開關(guān)   
        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 中的內(nèi)容寫出來   
            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;   
        }   
    }   

}  

相關(guān)文章

  • 關(guān)于@Value注解取不到值的幾種情況

    關(guān)于@Value注解取不到值的幾種情況

    這篇文章主要介紹了關(guān)于@Value注解取不到值的幾種情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 深入解析Java中的JDBC事務(wù)

    深入解析Java中的JDBC事務(wù)

    這篇文章主要介紹了深入解析Java中的JDBC事務(wù),包含了Java多線程的事務(wù)并發(fā)等知識(shí),需要的朋友可以參考下
    2015-08-08
  • 指定springboot的jar運(yùn)行內(nèi)存方式

    指定springboot的jar運(yùn)行內(nèi)存方式

    這篇文章主要介紹了指定springboot的jar運(yùn)行內(nèi)存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 基于HttpServletResponse 相關(guān)常用方法的應(yīng)用

    基于HttpServletResponse 相關(guān)常用方法的應(yīng)用

    本篇文章小編為大家介紹,基于HttpServletResponse 相關(guān)常用方法的應(yīng)用,需要的朋友參考下
    2013-04-04
  • http中g(shù)et請(qǐng)求與post請(qǐng)求區(qū)別及如何選擇

    http中g(shù)et請(qǐng)求與post請(qǐng)求區(qū)別及如何選擇

    這篇文章主要介紹了http中g(shù)et請(qǐng)求與post請(qǐng)求在應(yīng)用中應(yīng)該如何選擇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-09-09
  • 使用SkyWalking監(jiān)控Java服務(wù)的過程

    使用SkyWalking監(jiān)控Java服務(wù)的過程

    這篇文章主要介紹了使用SkyWalking監(jiān)控Java服務(wù),介紹一個(gè)對(duì)源碼0入侵的Java服務(wù)監(jiān)控方式,SkyWalking Agent,只需要啟動(dòng)Java程序的時(shí)候加幾個(gè)參數(shù),就能對(duì)Java服務(wù)進(jìn)行可視化監(jiān)控,需要的朋友可以參考下
    2023-08-08
  • springboot整合nacos,如何讀取nacos配置文件

    springboot整合nacos,如何讀取nacos配置文件

    這篇文章主要介紹了springboot整合nacos,如何讀取nacos配置文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 淺談Java常見的排序算法

    淺談Java常見的排序算法

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Java常見的排序算法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 淺析Java中的WeakHashMap

    淺析Java中的WeakHashMap

    這篇文章主要介紹了淺析Java中的WeakHashMap,WeakHashMap其實(shí)和HashMap大多數(shù)行為是一樣的,只是WeakHashMap不會(huì)阻止GC回收key對(duì)象,那么WeakHashMap是怎么做到的呢,這就是我們研究的主要問題,需要的朋友可以參考下
    2023-09-09
  • Springboot jar文件如何打包zip在linux環(huán)境運(yùn)行

    Springboot jar文件如何打包zip在linux環(huán)境運(yùn)行

    這篇文章主要介紹了Springboot jar文件如何打包zip在linux環(huán)境運(yùn)行,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論