我正在使用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();
答案 0 :(得分:0)
请确保您的fileName
有效且fileContent
不为空(使用条件进行调整或添加控制台输出)。
要测试PrintWriter
,您可以使用以下简短示例代码:
PrintWriter docFileWriter = new PrintWriter("C:/temp/temp.txt", "UTF-8");
docFileWriter.write("Some special text: Aäç/)!é");
docFileWriter.close();
当您的文件有时为空但存在时,您应该注意fileContent
变量。