怎么用java实现在一个txt文件中根据关键字查找信息并输出??

 我来答
百度网友c910d9f
2014-06-10 · 超过13用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:24.2万
展开全部
  public static void readTxtFile(String filePath, String key){
  try {
  String encoding="GBK";
  File file=new File(filePath);
  if(file.isFile() && file.exists()){ //判断文件是否存在
  InputStreamReader read = new InputStreamReader(
  new FileInputStream(file),encoding);//考虑到编码格式
  BufferedReader bufferedReader = new BufferedReader(read);
  String lineTxt = null;
  while((lineTxt = bufferedReader.readLine()) != null){
  System.out.println(lineTxt.indexOf(key));
  }
  read.close();
  }else{
  System.out.println("找不到指定的文件");
  }
  } catch (Exception e) {
  System.out.println("读取文件内容出错");
  e.printStackTrace();
  }
追问

如果我要找的是这样的一行数据,关键字是开头那一组数字,我要把这一行的所有信息都输出的话应该怎么弄?

追答
读取txt方法依旧,获取数据的方法如下:

String str = "120 LiuHua Zhang 15451545"+ "\r\n" +"110 GEGE OET 1154155" +"\r\n" + "110 GEGE OET 1154155" +"\r\n";
System.out.println("原始字符串为: \n" + str);
// 比如你想获取所有以110开头的行数据
String[] myStr = str.split("110");
for(int i = 0;i < myStr.length; i++){
if(i < myStr.length - 1)
System.out.println(myStr[i + 1]);
}
comil4444
2015-09-11 · TA获得超过113个赞
知道答主
回答量:101
采纳率:100%
帮助的人:40.2万
展开全部
个人愚见,还望指教

1、把txt文件封装成file对象;
2、如果是纯文字可以用FileReader如果不是的话可以用流转换一下FileInputStream;
3、维护一个数组将内容读取;
4、判断数组里面的关键词;(可以吧数组转换为String用contains方法)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
302652034_bai
2014-06-10 · TA获得超过4145个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1543万
展开全部
读取txt,然后查找关键字【String.Indexof()】
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式