import java.io.*;
public class Reader
{
public static void main(String[] args)
{
int i = 0;
String[] receiveall = new String[20];
try{
FileReader file = new FileReader("1.txt");
BufferedReader read = new BufferedReader(file);
while(read.readLine()!=null)
{
receiveall[i] = read.readLine();
System.out.println(receiveall[i]);
i++;
}
file.close();
read.close();
}catch(Exception e)
{
System.out.println("no file");
}
}
}
1.txt文件的内容是:
1
2
3
可是输出是:
2
null

解决方案 »

  1.   

    改下:
    import java.io.*;
    public class Reader
    {
    public static void main(String[] args)
    {
    int i = 0;
    String[] receiveall = new String[20];
    try{
    FileReader file = new FileReader("1.txt");
    BufferedReader read = new BufferedReader(file);
                      String s="";
    while((s=read.readLine())!=null)
    {
    receiveall[i] = s;
    System.out.println(receiveall[i]);
    i++;
    }
    file.close();
    read.close();
    }catch(Exception e)
    {
    System.out.println("no file");
    }
    }
    }
      

  2.   

    原因就在于你在while(..)中已经读取了一行,接下来:
    receiveall[i] = read.readLine();
    所以变成了隔一行打印一行了,改成我上面写即可
      

  3.   

    首先while(read.readLine()!=null)
    的时候read.readLine()把1给读掉了...
    然后receiveall[i] = read.readLine();读2放入receiveall[0],然后输出2
    再然后while(read.readLine()!=null)
    的时候把3读掉
    然后receiveall[i] = read.readLine();读3下面一行也就是NULL,放入receiveall[2],然后输出NULL