【发布时间】:2015-08-15 21:55:44
【问题描述】:
这对于 Java 程序员来说可能非常简单,但事实上我(Java 的一个相对新手)找不到一个简单、直接的例子来说明如何做到这一点,这意味着我将使用 @987654321 @ 选项,希望能防止其他人经历类似的挫败感。
我需要将错误信息输出到一个简单的文本文件。这些操作很少且很小(有时根本不需要),因此没有必要为文件保持打开流;文件在一个操作中打开、写入和关闭。
与我遇到的其他“附加”问题不同,这个问题要求在第一次调用 Java 应用程序运行中的方法时创建文件。在此之前该文件将不存在。
原来的代码是:
Path pathOfLog = Paths.get(gsOutputPathUsed + gsOutputFileName);
Charset charSetOfLog = Charset.forName("US-ASCII");
bwOfLog = Files.newBufferedWriter(pathOfLog, charSetOfLog);
bwOfLog.append(stringToWrite, 0, stringToWrite.length());
iReturn = stringToWrite.length();
bwOfLog.newLine();
bwOfLog.close();
以gs开头的变量是显示输出位置的预填充字符串变量,stringToWrite是传入的参数。
所以 .append 方法应该足以表明我想附加内容,对吧?
但事实并非如此;每次调用该过程时,该文件只包含最近调用的字符串。
【问题讨论】:
标签: java file bufferedwriter