Java 将ArrayList的内容写入文本文件
我有一个存储在ArrayList中的一些命令的列表,我一直在尝试将该列表打印到文本文件中。下面是代码-Java 将ArrayList的内容写入文本文件,java,arraylist,filewriter,Java,Arraylist,Filewriter,我有一个存储在ArrayList中的一些命令的列表,我一直在尝试将该列表打印到文本文件中。下面是代码- try { FileWriter writer = new FileWriter("Commands.txt"); for(String str: commandArray){ writer.write(commandArray[i]); } } catch (IOException e) { // TODO Auto-generate
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();
}
你失踪了-
finally {
writer.close();
}
每次在for循环中,您都在创建一个不好的新FileWriter&BufferedWriter对象每次在for循环中,您都在创建一个不好的新FileWriter&BufferedWriter对象我看不到任何打字错误。你在讲什么?你的for-each循环很有趣。无法理解它是如何工作的。我是从@Sajal那里得到这个想法的。我自己并不完全理解,但它似乎只起了部分作用。只有我的arraylist中的最后一个元素被打印出来,与整个列表相对。如果你想看的话,下面有一个关于他的答案的链接。我没有看到任何打字错误。你在讲什么?你的for-each循环很有趣。无法理解它是如何工作的。我是从@Sajal那里得到这个想法的。我自己并不完全理解,但它似乎只起了部分作用。只有我的arraylist中的最后一个元素被打印出来,与整个列表相对。如果你想看一看的话,下面有一个关于他的答案的链接。。您必须在try..catch..finally块之外声明您的编写器。声明为FileWriter=null;最后,如果(writer!=null){try{writer.close();}catch(Exception e){//do which}}@Hustl3r28,那么写入文件的更好方法是:谢谢。但是它能与arraylist一起工作吗,所以除了(“这是要写入文件的内容”),我的arraylist的名称是括号?@Hustl3r28是的,你会为(String str:commandArray){bw.write(str);}做些修改,然后你在for循环外部关闭bw。如果你能看一下的话,我对原始问题做了一些编辑,这将意味着很多,谢谢。。您必须在try..catch..finally块之外声明您的编写器。声明为FileWriter=null;最后,如果(writer!=null){try{writer.close();}catch(Exception e){//do which}}@Hustl3r28,那么写入文件的更好方法是:谢谢。但是它能与arraylist一起工作吗,所以不用(“这是写入文件的内容”),我的arraylist的名称是括号?@Hustl3r28是的,你会为(String str:commandArray){bw.write(str);}然后你在for循环外部关闭bw。我对原始问题做了一些编辑,如果你能看一下,这将意味着非常感谢。