Stringbuffer问题

时间:2012-12-03 21:15:32

标签: java fileoutputstream stringbuffer

我编写了一个代码,允许用户在文本区域中打开文本文件,并像文本编辑器一样输入新字符。在编辑大文件并输入大量的charcater时,似乎存在容量问题,文件没有保存。 我已经尝试过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");
    }

1 个答案:

答案 0 :(得分: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));