如何将文本文件中的字符串分配到Java的整数数组中?

如何将文本文件中的字符串分配到Java的整数数组中?,java,arrays,string,integer,Java,Arrays,String,Integer,如何将文本文件中的字符串分配到Java的整数数组中? 我已经将整数数组保存到一个文本文件中,但是现在如何在不做任何修改的情况下从文本文件中检索所有整数数组?我希望检索的整数数组与存储到文本文件之前相同。以下是我的代码的一部分: BufferedWriter f1 = new BufferedWriter(new InputStreamReader(new FileInputStream("Input.txt"))); int a[ ] = yes(test, test.length); //g

如何将文本文件中的字符串分配到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  
    ... ...  
}  
BufferedWriter f1=新的BufferedWriter(新的InputStreamReader(新的文件InputStream(“Input.txt”));
int a[]=是(测试,测试长度)//转到yes方法,将值返回到数组
for(int i=0;i
(发现不兼容的类型)

从文本文件保存和检索后,如何保留整数数组(a[])的原始性?谢谢

您需要以某种方式分离整数。最简单的解决方案是将每一行写在单独的行中。或者使用逗号分隔的列表,然后使用String.split(“,”)

您需要以某种方式分隔整数。最简单的解决方案是将每一行写在单独的行中。或者使用逗号分隔的列表,然后使用String.split(“,”)

写入字符的方式完全错误,您正在写入int的字符表示形式。在内部,这是作为字符写入的。你需要这样写你的整数

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

这应该与您现在读取整数的方式兼容。

您写入字符的方式完全错误,您正在写入int的字符表示形式。在内部,这是作为字符写入的。你需要这样写你的整数

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

这应该与您现在读取整数的方式兼容。

这看起来像是家庭作业。无论如何,以下是我的测试代码:

// 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 + "|" );
}

这看起来像是家庭作业。无论如何,以下是我的测试代码:

// 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 + "|" );
}

现在他不是在写整数,而是在写字符。这就是我的建议。重新格式化写入数据的方式。这与格式无关,他甚至没有写入有效的数据。目前他没有写入整数,他正在写入字符。这就是我的建议。重新格式化写入数据的方式。这与格式无关,他甚至没有写入有效数据。对不起,final Listvalues=new ArrayList();是什么意思;?这是一个包含整数对象的列表实例。请参阅java中的collections框架以了解更多信息。小提示:列表实现了Iterable接口,因此您可以在新的for循环中使用它。很抱歉,但是final Listvalues=new ArrayList();?这是一个包含整数对象的列表实例。请参阅java中的collections框架了解更多信息。小提示:列表实现了Iterable接口,因此您可以在新的for循环中使用它。