PrintWriter 不输出到文件
PrintWriter not outputing to file
每当下一段代码是 运行 时,我都会创建新的 csv 文件,但我没有向其中写入任何内容:
PrintWriter fout = null;
try {
// create file
fout= new PrintWriter("EEGLogger.csv");
String headerFile = "IED_COUNTER, IED_INTERPOLATED, IED_RAW_CQ, IED_AF3, IED_F7, IED_F3, IED_FC5, IED_T7, " +
"IED_P7, IED_O1, IED_O2, IED_P8, IED_T8, IED_FC6, IED_F4, IED_F8, IED_AF4, " +
"IED_GYROX, IED_GYROY,IED_TIMESTAMP";
// Writes the header to the file
fout.println(headerFile);
fout.println();
...
我在 finally
语句中执行了 fout.close()
,但这仍然无助于将任何输出输出到文件。有什么想法吗?
你可以打开一个FileWriter
fout = new PrintWriter(new FileWriter("EEGLogger.csv"));
...
fout.flush();
fout.close()
我认为 PrintWriter 用于格式化和字符编码。 api docs states Prints formatted representations of objects to a text-output stream
以及 Methods in this class never throw I/O exceptions
.
使用 FileWriter 作为参数将强制您处理任何可能发生的 IOException,因此如果文件未创建或不可写,您将立即获得此信息。
如果创建了文件而您只是在错误的位置查找文件,则可能会发生另一种情况。我建议也创建一个 File 对象,以查看文件的实际位置(您的实际工作目录是什么)
File f = new File("EEGLogger.csv");
fout = new PrintWriter(new FileWriter(f));
System.out.println(f.getAbsolutePath());
或者:
- 您找错了地方,即不是当前工作目录,或者
- 您没有对当前工作目录的写入权限。
如果您使用了 FileWriter
而没有得到 IOException
,那将排除 (2)。
本周我在这里看到了大约一百万个答案和评论,声称当前工作目录等于 JAR 文件的位置,但事实并非如此。
每当下一段代码是 运行 时,我都会创建新的 csv 文件,但我没有向其中写入任何内容:
PrintWriter fout = null;
try {
// create file
fout= new PrintWriter("EEGLogger.csv");
String headerFile = "IED_COUNTER, IED_INTERPOLATED, IED_RAW_CQ, IED_AF3, IED_F7, IED_F3, IED_FC5, IED_T7, " +
"IED_P7, IED_O1, IED_O2, IED_P8, IED_T8, IED_FC6, IED_F4, IED_F8, IED_AF4, " +
"IED_GYROX, IED_GYROY,IED_TIMESTAMP";
// Writes the header to the file
fout.println(headerFile);
fout.println();
...
我在 finally
语句中执行了 fout.close()
,但这仍然无助于将任何输出输出到文件。有什么想法吗?
你可以打开一个FileWriter
fout = new PrintWriter(new FileWriter("EEGLogger.csv"));
...
fout.flush();
fout.close()
我认为 PrintWriter 用于格式化和字符编码。 api docs states Prints formatted representations of objects to a text-output stream
以及 Methods in this class never throw I/O exceptions
.
使用 FileWriter 作为参数将强制您处理任何可能发生的 IOException,因此如果文件未创建或不可写,您将立即获得此信息。
如果创建了文件而您只是在错误的位置查找文件,则可能会发生另一种情况。我建议也创建一个 File 对象,以查看文件的实际位置(您的实际工作目录是什么)
File f = new File("EEGLogger.csv");
fout = new PrintWriter(new FileWriter(f));
System.out.println(f.getAbsolutePath());
或者:
- 您找错了地方,即不是当前工作目录,或者
- 您没有对当前工作目录的写入权限。
如果您使用了 FileWriter
而没有得到 IOException
,那将排除 (2)。
本周我在这里看到了大约一百万个答案和评论,声称当前工作目录等于 JAR 文件的位置,但事实并非如此。