开发者社区> 问答> 正文

输出给定字符串在哪些文件中出现

需求如下:
输入:
1) 给定一个文件夹,此文件夹下面有若干个文件或者文件夹,文件夹下面也有文件。文件全部为文本文件,文件中的内容不确定。如C:TxtFiles
2) 给定一个字符串,如test
要求输出给定字符串在哪些文件中出现过,把文件名称输出,包括路径。

展开
收起
蛮大人123 2016-03-18 13:52:23 1925 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    public class ReadStringAndPrintPath 
    {
        public static void main(String[] args) 
        {
            System.out.println("Hello World!");
            String str = "test";
            File file = new File("a");
            File[] list = file.listFiles();
            searchString(list,str);
        }
        public static void searchString(File[] files,String str){
            for(int i = 0 ; i < files.length; i ++){
                if(files[i].isFile()){
                    //是文件,搜索是否存在字符串
                    try{
                        Scanner scan = new Scanner(files[i]);
                        while(scan.hasNext()){
                            if(scan.nextLine().indexOf(str) != -1){
                                System.out.println(files[i].getAbsolutePath());
                                break;
                            }
                        }
                    }catch(IOException ex){
                        ex.printStackTrace();
                    }
                }else{
                    //是文件夹
                    File[] list = files[i].listFiles();
                    searchString(list,str);
                }
            }
        }
    }
    2019-07-17 19:06:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载