Java文件从一开始就不读取

时间:2011-11-24 03:48:37

标签: java file-io bufferedreader

我有一个包含以下输入的文件:

ADD 1 2
SUB 2 1
MUL 2 3
DIV 4 2
QUIT

使用这部分代码:

BufferedReader in = null;
String input = "";
in = new BufferedReader(fin);
while ((input = in.readLine()) != null)
{
    String line = in.readLine();    
    System.out.println(line); // for me to see the output
    out.println(line); // thats for my server
    out.flush(); // for the server
}

但它只显示:

MUL 2 3
DIV 4 2 
null

2 个答案:

答案 0 :(得分:4)

试试这个:

BufferedReader in = null;
String input = "";
in = new BufferedReader(fin);
while ((input = in.readLine()) != null)
{
    System.out.println(input); // for me to see the output
    out.println(input); // thats for my server
    out.flush(); // for the server
}

您正在从文件中读取输入两次,一次在while语句中,一次在while语句之后。

答案 1 :(得分:1)

在打印内容之前,您正在从文件中读取一行:

(input = in.readLine())

从文件中读取一行并将其存储在输入中,然后在检查输入之前,读取另一行并将其存储在行变量中:

String line = in.readLine(); 

删除其中一个in.readLine()来电,它应该可以正常工作。