1

我正在尝试将此数组:数据类型存储到程序将创建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(); 
    }
}
4

3 回答 3

3

您想要的可能是将数组的内容写入文件并稍后读取。

保存到文件

由于 anarray也是一个对象,您可以使用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();

这将从文件中读取数组。

于 2012-09-18T02:15:39.473 回答
1

保存到文件

ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("NUMBERS.DATA"));
int[][] NUMBERS;  // Populate it.
oos.writeObject(NUMBERS);'

ObjectOutputStream没有以 aFileWriter作为参数的构造函数。

于 2014-03-10T15:41:08.280 回答
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);
于 2017-02-23T04:52:16.213 回答