2

我必须在 JAVA 中编写如下结构的代码:

Read String From File
// Perform some string processing
Write output string in file

现在,为了从文件中读取/写入字符串,我正在使用,

BufferedReader br = new BufferedReader(new FileReader("Text.txt"), 32768);
BufferedWriter out = new BufferedWriter(new FileWriter("AnotherText.txt"), 32768);

  while((line = br.readLine()) != null) {
          //perform some string processing
          out.write(output string) ;
          out.newLine();
    }

但是,阅读和写作似乎很慢。有没有其他最快的方法可以在 JAVA 文件中读取/写入字符串?

附加信息:

1) Read File is 144 MB.
2) I can allocate large memory (50 MB) for reading or writing.
3)I have to write it as a string, not as Byte.
4

2 回答 2

1

听起来比应该的要慢。

您可以尝试增加缓冲区大小。

也许也可以尝试 FileOutputStream 而不是 FileWriter。

你提到了 50MB。当您使用 -X 开关运行程序时,您是否正在修改程序的内存参数?

于 2012-04-18T15:02:12.653 回答
0

忽略您没有发布您的性能要求的事实:

尝试将文件作为字节读取/写入,并在内部将字节转换为字符/字符串。

这个问题可能会有所帮助:Java 中文件中的行数

于 2012-04-18T14:54:58.527 回答