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);'

ObjectOutputStreamFileWriterパラメーターとして aを持つコンストラクターがありません。

于 2014-03-10T15:41:08.280 に答える