Java 将二维数组存储到文件中
我试图将这个数组:Java 将二维数组存储到文件中,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我试图将这个数组:numbers[r][c]ofint数据类型存储到程序将创建的文件中,然后将每个值存储在文件中。我试过了,但它给我带来了奇怪的并发症 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++){
numbers[r][c]
ofint
数据类型存储到程序将创建的文件中,然后将每个值存储在文件中。我试过了,但它给我带来了奇怪的并发症
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();
}
}
Scanner scan=新扫描仪(新文件(“NUMBERSS.txt”);
//读每一行。
对于(int r=0;r,您需要的可能是将数组的内容写入一个文件,然后再读取它
保存到文件
由于数组
也是一个对象,因此可以使用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();
这将从文件中读取数组。您需要的可能是将数组的内容写入文件,然后再读取
保存到文件
由于数组
也是一个对象,因此可以使用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();
这将从文件中读取数组。保存到文件中
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("NUMBERS.DATA"));
int[][] NUMBERS; // Populate it.
oos.writeObject(NUMBERS);'
ObjectOutputStream
没有将FileWriter
作为参数的构造函数。保存到文件
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("NUMBERS.DATA"));
int[][] NUMBERS; // Populate it.
oos.writeObject(NUMBERS);'
ObjectOutputStream
没有将FileWriter
作为参数的构造函数。它可能是ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(“NUMBERS.DATA”);
而不是ObjectOutputStream oos=new ObjectOutputStream(new FileWriter(“NUMBERS.DATA”));
。因此,对所给答案稍加修改的版本是:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("NUMBERS.DATA"));
int[][] NUMBERS = {{2, 3, 5}, {7, 11, 13}};
oos.writeObject(NUMBERS);
它可能是ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(“NUMBERS.DATA”);
而不是ObjectOutputStream oos=new ObjectOutputStream(new FileWriter(“NUMBERS.DATA”);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("NUMBERS.DATA"));
int[][] NUMBERS = {{2, 3, 5}, {7, 11, 13}};
oos.writeObject(NUMBERS);
请把“奇怪的复杂情况”翻译成英语。恐怕我们看不懂你的心思。你到底遇到了什么问题?嘿,把代码贴在你遇到这些复杂情况的地方就行了。请参见[ObjectInputStream
][请翻译“奇怪的复杂情况”翻译成英语。恐怕我们看不懂你的心思。你到底遇到了什么问题?嘿,把你复杂的代码粘贴到我们这里就行了。请参见[ObjectInputStream
][@Jake223注释只是说用他的values@Jake223注释只是说用他的值修改数组