在学习java并且正在学习Streams(字节和字符)的时候,我写了这个代码,它将一个数组写入.txt,然后读取并打印之前写入的值。编译当我有错的,说无法找出Java中的这个RandomAccessFile代码的错误
method readInt in class RandomAccessFile cannot be applied to given types;
d = rand.readInt(4*i);
required: no arguments
foung: int
reason: actual and formal argument lists differ int length
继承人的代码行22:
import java.io.*;
class Prueba7
{
public static void main(String args[])
{
int array[] = {2,5,3,6,4,7,4,8};
int d;
try(RandomAccessFile rand = new RandomAccessFile("prueba7.txt", "rw"))
{
for(int i: array)
{
System.out.println("Writing: " +i);
rand.writeInt(i);
}
for(int i = 0; i < array.length; i++)
{
d = rand.readInt(4*i);
System.out.println("Reading file: ");
System.out.print(d);
}
}
catch(IOException exc)
{
System.out.println("Exception: " +exc);
}
}
}
当我读到的错误,试图删除的readInt的说法,但我有一个例外,而不是预期的产出。
import java.io.*;
class Prueba7
{
public static void main(String args[])
{
int array[] = {2,5,3,6,4,7,4,8};
int d;
try(RandomAccessFile rand = new RandomAccessFile("prueba7.txt", "rw"))
{
for(int i: array)
{
System.out.println("Writing: " +i);
rand.writeInt(i);
}
for(int i = 0; i < array.length; i++)
{
d = rand.readInt();
System.out.println("Reading file: ");
System.out.print(d);
}
}
catch(IOException exc)
{
System.out.println("Exception: " +exc);
}
}
}
这个我得到这样的输出:
writing: 2
writing: 5
writing: 3
writing: 6
writing: 4
writing: 7
writing: 4
writing: 8
Exception: java.io.EOFException
这是输出我想:
writing: 2
writing: 5
writing: 3
writing: 6
writing: 4
writing: 7
writing: 4
writing: 8
Reading: 2 5 3 6 4 7 4 8
的readInt()绝对不采取ARGS按的Javadoc。我还没有确认,但@ dkatzel的答案似乎是在正确的道路上。 –