每当运行下一段代码时,我都会创建新的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();
...
我在fout.close()
语句中执行finally
,但这仍无法帮助获取文件的任何输出。这里有什么想法吗?
答案 0 :(得分:1)
或者:
如果您使用了FileWriter
而没有使用IOException
,那将排除(2)。
我本周在这里看到了大约一百万条答案和评论,声称当前的工作目录等于JAR文件的位置,但它没有。
答案 1 :(得分:-2)
您可以打开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());