Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如何将ArrayList对象写入txt文件?_Java_Arrays_Serialization_Arraylist - Fatal编程技术网

Java-如何将ArrayList对象写入txt文件?

Java-如何将ArrayList对象写入txt文件?,java,arrays,serialization,arraylist,Java,Arrays,Serialization,Arraylist,/**我有一些实现ArrayList函数的方法,如添加、显示、排序、删除和退出。它工作正常,但问题是添加的对象没有保存在.txt文件中,只是临时对象。所以我需要将它们添加到文本文件中,以便以后可以显示和删除它们。这是代码的一部分。 */ 公共类测试{ 公共静态void main(字符串[]args){ 字符串命令; int指数=0; 扫描仪输入=新扫描仪(System.in); ArrayList MenuArray=新建ArrayList(); 布尔输出=假; 当(!外出){ System.o

/**我有一些实现ArrayList函数的方法,如添加、显示、排序、删除和退出。它工作正常,但问题是添加的对象没有保存在.txt文件中,只是临时对象。所以我需要将它们添加到文本文件中,以便以后可以显示和删除它们。这是代码的一部分。 */

公共类测试{
公共静态void main(字符串[]args){
字符串命令;
int指数=0;
扫描仪输入=新扫描仪(System.in);
ArrayList MenuArray=新建ArrayList();
布尔输出=假;
当(!外出){
System.out.print(“输入命令:”);
Command=input.nextLine();
//用于添加对象的ADD方法
if(Command.startsWith(“ADD”)| Command.startsWith(“ADD”)){
MenuArray.add(Command.substring(4.toLowerCase());
//为对象建立索引
索引++;
/**我卡在这里,它不会写入input.txt
BufferedWriter writer=新的BufferedWriter(新文件编写器(
"input.txt);;
试一试{
用于(字符串保存:菜单栏){
int i=0;
write(++i++“+save.toString());
writer.write(“\n”);
}
}最后{
writer.close();
}*/
}else if(Command.startsWith(“EXIT”)| | Comand.startsWith(“EXIT”)){
out=真;
}
}
}
}
似乎正好满足您的需要。

您可以使用将对象写入文件:

try {
    FileOutputStream fos = new FileOutputStream("output");
    ObjectOutputStream oos = new ObjectOutputStream(fos);   
    oos.writeObject(MenuArray); // write MenuArray to ObjectOutputStream
    oos.close(); 
} catch(Exception ex) {
    ex.printStackTrace();
}

请先修复代码格式!您应该遵守Java编码准则(例如变量的小写字母等)!你不应该问“是”,下次不会再发生了。我尝试了代码,它可以工作并创建output.txt,但这是文件中的内容:,sr java.util.ArrayListxÒ™我刚刚输入了“hello”这个词,那么我如何显示文件中的对象呢?下面是下一个方法:else if(Command.startsWith(“DISPLAY”)| | Command.startsWith(“DISPLAY”){int i=0;for(String temp:MenuArray){System.out.println(++i+”“+temp);}@劳兹:您使用
ObjectInputStream
读取文件,请参见示例代码
http://www.tutorialspoint.com/java/io/objectinputstream_readobject.htm
请看这里:@lawZ:我看到了你的相关问题。你想让我在那里发布同样的回复吗?tq回答这个问题,但我真的没有太多时间来阅读这个人这是一个完整的答案,无需阅读任何手册。下载apache jar,将其导入到项目中,然后使用
FileUtils.writeLines(新文件(“input.txt”),MenuArray)
。好吧,我会试试……我几天前自学了Java,现在正在做这些任务……所以有很多东西我都不懂。不过,如果我们帮助OP解决他最初的问题会更好——为什么他不能用编写器和循环来做呢?
try {
    FileOutputStream fos = new FileOutputStream("output");
    ObjectOutputStream oos = new ObjectOutputStream(fos);   
    oos.writeObject(MenuArray); // write MenuArray to ObjectOutputStream
    oos.close(); 
} catch(Exception ex) {
    ex.printStackTrace();
}