簡體   English   中英

從文件中讀取字符

[英]reading characters from a file

我想一次讀取一個字符一個文件,然后一次一個字符將第一個文件的內容寫入另一個文件。

我也早先問過這個問題,但沒有得到滿意的答案.....我能夠讀取文件並將其打印到std o / p。但是無法將相同的讀取字符寫入文件。

鏈接到您先前的問題以查看不滿意之處可能很有用。 這是一個基本的例子:

public static void copy( File src, File dest ) throws IOException {
    Reader reader = new FileReader(src);
    Writer writer = new FileWriter(dest);

    int oneChar = 0;
    while( (oneChar = reader.read()) != -1 ) {
        writer.write(oneChar);
    }

    writer.close();
    reader.close();     
}

要考慮的其他事項:

  • 使用BufferedReader / Writer包裝閱讀器/寫入器以獲得更好的性能
  • close調用應位於finally塊中,以防止資源泄漏

您可以使用FileReader讀取文件中的字符(有一種read方法可以讓您一次將一個字符寫入一個字符),也可以使用FileWriter將字符寫入文件中(在一個字符中-一次write方法)。 還有一些方法可以一次處理字符而不是一個字符,但是您似乎想要這些,所以...

如果您不擔心設置字符編碼,那就太好了。 如果是,請分別使用FileInputStreamFileOutputStreamInputStreamReaderOutputStreamWriter包裝器。 FileInputStreamFileoutputStream類使用字節,然后,流讀取器/寫入器將根據您選擇的編碼將字節轉換為字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM