我正在使用BufferedWriter在我的csv文件中写入数据。
我正在尝试生成我的csv文件头。但是我只能看到测试日期;秒;标题中的部分。我想查看所有设备名称。有人可以检查我的代码,尤其是printDeviceNames方法。 我不明白这个问题。
String FILE_HEADER = "Testing Date;Seconds;" + printDeviceNames(DeviceGroups.choosenDevice);
bufferedWriter.write(FILE_HEADER);
bufferedWriter.close();// Always close files.
private static String printDeviceNames(List<String> choosenDevice) {
StringBuilder stringBuilder = new StringBuilder();
for (String deviceName : choosenDevice) {
stringBuilder.append(deviceName);
stringBuilder.append(";");
}
return stringBuilder.toString();
}
答案 0 :(得分:2)
看起来DeviceGroups.choosenDevice
有空列表,使用以下代码检查问题
System.out.println("DeviceGroups.choosenDevice " + DeviceGroups.choosenDevice);
String FILE_HEADER = "Testing Date;Seconds;" + printDeviceNames(DeviceGroups.choosenDevice);
System.out.println("FILE_HEADER " + FILE_HEADER);
bufferedWriter.write(FILE_HEADER);
private static String printDeviceNames(List<String> choosenDevice) {
StringBuilder stringBuilder = new StringBuilder();
for (String deviceName : choosenDevice) {
stringBuilder.append(deviceName);
stringBuilder.append(";");
}
return stringBuilder.toString();
}
System.out.println
向您展示了什么?它看起来像是显示DeviceGroups.choosenDevice ==空列表
答案 1 :(得分:0)
可能你没有关闭BufferedWriter,然后仍然没有写入最后一个缓冲区。
在关闭BufferedWriter之前单独关闭文件时也会发生这种情况。然后只需关闭BufferedWriter即可。它关闭了它的底层文件。