Java读写文件,在文件中搜索内容,并输出含有该内容的所有行方式-创新互联

1.问题描述

我们提供的服务有:成都网站设计、成都做网站、微信公众号开发、网站优化、网站认证、盐城ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的盐城网站制作公司

在一个目录及子目录下查找 TXT或Java文件,从中搜索所有“对象”字样的行。

在D盘中的所有文件中搜索含有“对象”的行。

2.解题思路

先找出D盘下所有文件

再对每个文件中的每行内容进行,进行查找,若含有“对象”两字,输出该行。

3.程序代码

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class B {
  static int m=1;
  static void search(File a,String x) throws IOException{//在文件a中的每行中查找x
    Scanner scan = new Scanner(a,"gbk");
    int k = 0;
    while(true){  
      if(scan.hasNext()==false) break;
      String s = scan.nextLine();
      k++;
      if(s.contains(x)){
        String ss =m +".文件:"+ a.getPath() + " 第" + k + "行 \n 内容:" + s;
        System.out.println(ss);
        m++;
      }
    } 
    Scanner scan1 = new Scanner(a,"utf-8");
    int k1 = 0;
    while(true){  
      if(scan1.hasNext()==false) break;
      String s1 = scan1.nextLine();      
      k1++;
      if(s1.contains(x)){
        String ss1 =m +".文件:"+ a.getPath() + " 第" + k1 + "行 \n 内容:" + s1;
        System.out.println(ss1);
        m++;
      }
    } 
  }
  static void f(File a,String s)throws IOException{//在a下所有文件中查找含有s的行
    
    File[] ff = a.listFiles();
    if(ff==null) return;
    for(File it : ff){
      if(it.isFile()){//若a是文件,直接查找
        search(it,s);
      }
      if(it.isDirectory()){//若a是目录,则对其目录下的目录或文件继续查找
        f(it,s);
      }
    }    
  }

  public static void main(String[] args)throws IOException {
    f(new File("d:\\"),"对象");

  }

}

文章名称:Java读写文件,在文件中搜索内容,并输出含有该内容的所有行方式-创新互联
浏览路径:http://scjbc.cn/article/diecsh.html

其他资讯