即使在使用printwriter.close之后,Printwriter也会创建空文件

时间:2016-01-19 16:05:40

标签: java file-io printwriter

我正在使用PrintWriter但有时会创建空文件。

我最后也使用了PrintWriter.close(),但有时仍会创建空文件。

代码:

StringBuilder fileContent = new StringBuilder();
for (Iterator<String> i = fieldMap.values().iterator(); i.hasNext();) 
{
  String fieldValue = i.next();
  LOG.debug("Write information to outputfile:  fieldValue" + fieldValue);
  fileContent.append(fieldValue);
  if (i.hasNext())
    fileContent.append("~");
}

// Member errorMessage is only set in case of fatal error and might
// be appended without risk since in
// this case this content is only written to logger.
fileContent.append(errorMessage);
fileContent.append("\n");

PrintWriter docFileWriter = new PrintWriter(fileName, "UTF-8");
docFileWriter.write(fileContent.toString());
docFileWriter.close();

1 个答案:

答案 0 :(得分:0)

请确保您的fileName有效且fileContent不为空(使用条件进行调整或添加控制台输出)。

要测试PrintWriter,您可以使用以下简短示例代码:

PrintWriter docFileWriter = new PrintWriter("C:/temp/temp.txt", "UTF-8");
docFileWriter.write("Some special text: Aäç/)!é");
docFileWriter.close();

当您的文件有时为空但存在时,您应该注意fileContent变量。