-1

我写了一个代码,让用户可以像文本编辑器一样在文本区域打开文本文件并输入新字符。编辑大文件并输入大量字符时似乎存在容量问题,文件没有得救。我试过 StringBuffer stuff.ensureCapacity(10000); 仍然没有工作。我想知道问题是在保存到文件时还是在我的文本区域中修改时?我有这样的事情:

  java.lang.StringBuffer text = new java.lang.StringBuffer();
  //some code here

  File myFile = new File(filename);
  DataInputStream dis = new DataInputStream(new FileInputStream (myFile));

    while((data = dis.readLine()) != null)
    {
      text.append(data+"\n");
    }
4

1 回答 1

0

一些指针。

  • 您无需指定java.lang.
  • 如果可以使用 StringBuilder,请不要使用 StringBuffer
  • 最重要的是,不要混合文本和二进制,因为这会导致混淆。

如果您想将整个文件作为字符串读取,我建议在 Java 7 中使用

Path path = FileSystems.getDefault().getPath("logs", "access.log");
String text = new String(Files.readAllBytes(path), "UTF-8");

或使用 Apache Commons IO FileUtils

String text = FileUtils.readFileToString(new File(filename));
于 2012-12-03T21:41:32.643 回答