我正在尝试将此NUMBERSS[r][c]
数据类型的int
存储到程序将创建的文件中,然后将每个值存储在文件中。我尝试了,但它给了我奇怪的并发症。
Scanner scan = new Scanner(new File("NUMBERSS.txt"));
// Read each row.
for(int r=0;r<NUMBERSS.length;r++)
for(int c=0;c<NUMBERSS[r].length;c++){
System.out.print(NUMBERSS[r][c] + "\t");
System.out.print("\n");
// For each number in the column, read a number
// and put it in the array
NUMBERSS[r][c] = scan.nextInt();
scan.nextLine();
}
}
答案 0 :(得分:3)
你想要的是将数组的内容写入文件并稍后阅读。
由于array
也是一个对象,您可以使用ObjectOutputStream
进行保存。
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("NUMBERS.DATA"));
int[][] NUMBERS; // Populate it.
oos.writeObject(NUMBERS);
这会将数组保存到文件NUMBERS.DATA
从文件中读取也很简单。
ObjectInputStream ois = new ObjectInputStream(new FileReader("NUMBERS.DATA"));
int[][] NUMBERS = (int[][])ois.readObject();
这将从文件中读取数组。
答案 1 :(得分:1)
保存到文件
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("NUMBERS.DATA"));
int[][] NUMBERS; // Populate it.
oos.writeObject(NUMBERS);'
ObjectOutputStream
没有带FileWriter
作为参数的构造函数。
答案 2 :(得分:0)
可能是ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("NUMBERS.DATA"));
而不是ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("NUMBERS.DATA"));
。因此,https://stackoverflow.com/users/1026805/sri-harsha-chilakapati给出的答案的一些修改版本将是:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("NUMBERS.DATA"));
int[][] NUMBERS = {{2, 3, 5}, {7, 11, 13}};
oos.writeObject(NUMBERS);