java IO流读取文件第一行读取不出来问题
试题:
一个文本文件含有如下内容,分别表示姓名和成绩:
张三 90
李四 96
王五 78
赵六 82
...
用户输入要查询的姓名,打印出此人的成绩,如果不输入姓名直接按回车则显示所有人的姓名以及成绩
-----------------------------------------------------------------------------------------------------------------------------------------------
我建立的txt文本文件内容如下:
张三 90
李四 96
王五 78
赵六 82
-----------------------------------------------------------------------------------------------------------------------------------------------
我的问题:查找第一行张三的成绩查不到,其他人员的成绩都能查到,后来我试了一下,无论将哪个人员的信息放到txt文本文件第一行都读取不到,这是什么原因?
我的代码:
import java.io.BufferedReader;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test5
{
public static void main(String[] args) throws IOException
{
String name="张三";
queryScore(name);
}
public static void queryScore(String name) throws IOException
{
FileInputStream in=null;
InputStreamReader reader=null;
BufferedReader buffReader=null;
try
{
in=new FileInputStream(new File("e:\\成绩.txt"));
reader=new InputStreamReader(in,"UTF-8");
buffReader=new BufferedReader(reader);
String line=null;
while(true)
{
line=buffReader.readLine();
if(line==null)
{
break;
}
if(name==null||name.trim().length()==0)
{
System.out.println(line);
}
else
{
if(line.contains(name))
{
String[] parts=line.split(" ");
if(parts[0].trim().equals(name))
{
System.out.println(name+"的成绩是:"+parts[1]);
break;
}
}
}
}
}
finally
{
close(buffReader);
close(reader);
close(in);
}
}
public static void close(Closeable c)
{
if(c!=null)
{
try
{
c.close();
} catch (IOException e)
{
}
}
}
}