从文件中读取字符

时间:2010-09-19 16:34:20

标签: java filestream

我想一次读取一个文件,并将第一个文件的内容一次写入另一个文件中。

我之前也问过这个问题,但没有得到满意的答案..... 我能够读取文件并将其打印到std o / p。但是不能将相同的读取字符写入文件。

2 个答案:

答案 0 :(得分:2)

链接到您之前的问题以查看不满意的内容可能很有用。这是一个基本的例子:

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包装读写器以获得更好的性能
  • 关闭调用应该在finally块中以防止资源泄漏

答案 1 :(得分:0)

您可以使用FileReader来读取文件中的字符(如果您愿意,可以使用read方法一次执行一个字符),并且可以将字符写入文件使用FileWriter(一次只有一个字符write方法)。还有一些方法可以一次做一个字符块而不是一个字符,但你似乎想要那些,所以...

如果您不担心设置字符编码,那就太棒了。如果是,请查看FileInputStreamFileOutputStreamInputStreamReaderOutputStreamWriter包装器(分别)。 FileInputStreamFileoutputStream类使用字节,然后流读取器/写入器根据您选择的编码将字节转换为字符。