Java-带数组列表的二进制文件I/O
我是java初学者,在使用数组列表的二进制文件输入和输出时遇到问题。我试图将数组列表中的数据存储在一个文件中,然后使用它在控制台中显示它。这是我的一些代码,它运行时显示了错误的信息,我也收到了警告。关于导致此问题的原因有什么帮助吗?谢谢Java-带数组列表的二进制文件I/O,java,binary,arraylist,objectoutputstream,objectinputstream,Java,Binary,Arraylist,Objectoutputstream,Objectinputstream,我是java初学者,在使用数组列表的二进制文件输入和输出时遇到问题。我试图将数组列表中的数据存储在一个文件中,然后使用它在控制台中显示它。这是我的一些代码,它运行时显示了错误的信息,我也收到了警告。关于导致此问题的原因有什么帮助吗?谢谢 public class Towers { public static ArrayList<String> allMoves= new ArrayList<String>(); static{ allMov
public class Towers {
public static ArrayList<String> allMoves= new ArrayList<String>();
static{
allMoves.add( "These Are the Disk Moves:" );
}
public static void move(final int aNumDisks){
move(aNumDisks, 1, 2, 3);
String fileName = "solution.dat";
try{
ObjectOutputStream outputStream =
new ObjectOutputStream(
new FileOutputStream (fileName));
outputStream.writeObject(allMoves);
outputStream.close( );
}
catch ( IOException e ){
System.out.println("Error writing to file " + fileName);
System.exit(0);
}
}
但我明白了:
=== 0 disks move(int) ===
These Are the Disk Moves:
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
=== 0 disks move(,,) ===
These Are the Disk Moves:
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
=== 1 disk move(int) ===
These Are the Disk Moves:
Move disk from 1 to 3
=== 2 disks ===
These Are the Disk Moves:
Move disk from 1 to 2
Move disk from 1 to 3
Move disk from 2 to 3
=== 2 disks move(2,3,2,1) ===
These Are the Disk Moves:
Move disk from 1 to 2
Move disk from 1 to 3
Move disk from 2 to 3
=== 3 disks move(3) ===
These Are the Disk Moves:
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
你得到的警告是完全正常的。您可以通过在带有警告的行之前插入此行来抑制它:
@SuppressWarnings("unchecked")
对于您得到的错误信息:
- 在尝试读取文件之前,请确保已写入该文件,因为您可能正在使用该文件的旧版本
- 确保ArrayList中包含正确的移动
=== 0 disks move(int) ===
These Are the Disk Moves:
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
=== 0 disks move(,,) ===
These Are the Disk Moves:
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
=== 1 disk move(int) ===
These Are the Disk Moves:
Move disk from 1 to 3
=== 2 disks ===
These Are the Disk Moves:
Move disk from 1 to 2
Move disk from 1 to 3
Move disk from 2 to 3
=== 2 disks move(2,3,2,1) ===
These Are the Disk Moves:
Move disk from 1 to 2
Move disk from 1 to 3
Move disk from 2 to 3
=== 3 disks move(3) ===
These Are the Disk Moves:
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
@SuppressWarnings("unchecked")