0

Javaの整数配列にテキストファイルから文字列を割り当てる方法は? 整数配列をテキスト ファイルに保存しましたが、テキスト ファイルからすべての整数配列を変更せずに取得するにはどうすればよいでしょうか。テキストファイルに保存する前と同じ整数配列を取得したい。以下は私のコードの一部です:

BufferedWriter f1 = new BufferedWriter(new InputStreamReader(new FileInputStream("Input.txt")));

int a[ ] = yes(test, test.length); //go to yes method,return value to array  
for(int i = 0; i < a.length; i++)  
{  
    f1.write(a[i]);  
}  
    f1.close( );  

BufferedReader f2 = new BufferedReader(new InputStreamReader(new FileInputStream("Input.txt")));  
String src;  
while((src = f2.readLine( )) != null)  
{  
    String[ ] s = src;  
    int a[ ] = Integer.parseInt(s);//same with before it saved  
    ... ...  
}  

(互換性のない型が見つかりました)
保存してテキスト ファイルから取得した後、整数配列 (a[ ]) の独自性を確保するにはどうすればよいですか? ありがとう!

4

3 に答える 3

4

これは宿題のようです。とにかく、ここに私のテストコードがあります:

// Write integers to a file, each on a different line
BufferedWriter f1 = new BufferedWriter( new FileWriter( new File( "Input.txt" ) ) );
int a[] = new int[]{ 17 , 42 , 37 };
for ( int i = 0 ; i < a.length ; i++ ) {
  f1.write( String.valueOf( a[ i ] ) + "\r\n" );
}
f1.close();

// Read integers from a file, assume each value on a different line
final BufferedReader bufferedReader = new BufferedReader( new FileReader( new File( "Input.txt" ) ) );
String line;
final List< Integer > values = new ArrayList< Integer >();
while ( ( line = bufferedReader.readLine() ) != null ) {
  values.add( Integer.valueOf( line ) );
}
bufferedReader.close();

// Convert List elements to array
final int[] valueArray = new int[ values.size() ];
int counter = 0;
for ( int value : values ) {
  valueArray[ counter ] = value;
  counter++;
}

// Print array values
for ( int value : valueArray ) {
  System.out.println( "value: |" + value + "|" );
}

出力は次のとおりです。

value: |17|
value: |42|
value: |37|
于 2009-03-18T08:33:20.050 に答える
0

どういうわけか整数を分離する必要があります。最も簡単な解決策は、それぞれを別の行に記述することです。または、カンマ区切りのリストを使用してから String.split(",") を使用します

于 2009-03-18T08:21:43.650 に答える
0

文字の書き方が完全に間違っています。int の文字表現を書いています。内部的には、これは char として書き込まれます。そのように整数を書く必要があります。

for(int i = 0; i < a.length; i++)
{
   String value = String.valueOf(a[i]);
   f1.println(value);
}

これは、現在の整数の読み取り方法と互換性があるはずです。

于 2009-03-18T08:24:38.683 に答える