我有一个存储在ArrayList中的一些命令的列表,我一直试图将这个列表打印在一个文本文件中。以下是代码 -
try {
FileWriter writer = new FileWriter("Commands.txt");
for(String str: commandArray){
writer.write(commandArray[i]);
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我没有错误,但也没有创建文件。有没有我做错了。任何帮助表示赞赏。非常感谢。
编辑问题
@Sajal Dutta,我接受了你的建议并想出了以下内容;
try {
for(String str: movementArray){
File file = new File("D://filename.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(str);
bw.close();
}
}
catch (IOException e) {
e.printStackTrace();
}
在创建文件的那一刻,但只有arraylist的最后一个值被打印到文件中。 arraylist中存储了六个值,如何将所有六个值打印出来?
你错过了 -
finally {
writer.close();
}
try {
if(!file.exists())
file.createNewFile();
FileWriter writer = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(writer);
for(String str : data){
bw.append(str);
bw.append("\n");
}
bw.close();
writer.close();
}
每次在for循环中,您都在创建一个新的FileWriter和BufferedWriter对象,这是不好的