java IO流读取文件第一行读取不出来问题

qq_41391935 2017-12-14 11:38:35
试题:
一个文本文件含有如下内容,分别表示姓名和成绩:
张三 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)
{
}
}
}
}

...全文
523 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
逗比123号 2017-12-14
  • 打赏
  • 举报
回复
parts[0].trim().equals(name)的问题,2楼已经说了解决方法
  • 打赏
  • 举报
回复 1
修改文档的编码格式 解决方案: 利用notePad++打开出, -将以UTF-8格式编码修改成将以UTF-8 无BOM 格式编码
sssszr 2017-12-14
  • 打赏
  • 举报
回复
把UTF-8换成gbk

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧