{ "question_id": 201530, "question_title": "输出给定字符串在哪些文件中出现过,把文件名称输出,包括路径", "question_content": "输入:\n1) 给定一个文件夹,此文件夹下面有若干个文件或者文件夹,文件夹下面也有文件。文件全部为文本文件,文件中的内容不确定。如C:\\TxtFiles\n2) 给定一个字符串,如test\n\n要求输出给定字符串在哪些文件中出现过,把文件名称输出,包括路径。", "difficulty": "简单", "answer_id": 124339, "answer_content": "\n\n```\n import java.util.*;\nimport java.io.*;\n\npublic class ReadStringAndPrintPath \n{\n\tpublic static void main(String[] args) \n\t{\n\t\tSystem.out.println(\"Hello World!\");\n\t\tString str = \"test\";\n\t\tFile file = new File(\"a\");\n\t\tFile[] list = file.listFiles();\n\t\tsearchString(list,str);\n\t}\n\tpublic static void searchString(File[] files,String str){\n\t\tfor(int i = 0 ; i < files.length; i ++){\n\t\t\tif(files[i].isFile()){\n\t\t\t\t//是文件,搜索是否存在字符串\n\t\t\t\ttry{\n\t\t\t\t\tScanner scan = new Scanner(files[i]);\n\t\t\t\t\twhile(scan.hasNext()){\n\t\t\t\t\t\tif(scan.nextLine().indexOf(str) != -1){\n\t\t\t\t\t\t\tSystem.out.println(files[i].getAbsolutePath());\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}catch(IOException ex){\n\t\t\t\t\tex.printStackTrace();\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\t//是文件夹\n\t\t\t\tFile[] list = files[i].listFiles();\n\t\t\t\tsearchString(list,str);\n\t\t\t}\n\t\t}\n\t}\n}\n```\n\n", "tag_name": "java", "java": " import java.util.*;\nimport java.io.*;\npublic class ReadStringAndPrintPath \n{\n\tpublic static void main(String[] args) \n\t{\n\t\tSystem.out.println(\"Hello World!\");\n\t\tString str = \"test\";\n\t\tFile file = new File(\"a\");\n\t\tFile[] list = file.listFiles();\n\t\tsearchString(list,str);\n\t}\n\tpublic static void searchString(File[] files,String str){\n\t\tfor(int i = 0 ; i < files.length; i ++){\n\t\t\tif(files[i].isFile()){\n\t\t\t\ttry{\n\t\t\t\t\tScanner scan = new Scanner(files[i]);\n\t\t\t\t\twhile(scan.hasNext()){\n\t\t\t\t\t\tif(scan.nextLine().indexOf(str) != -1){\n\t\t\t\t\t\t\tSystem.out.println(files[i].getAbsolutePath());\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}catch(IOException ex){\n\t\t\t\t\tex.printStackTrace();\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tFile[] list = files[i].listFiles();\n\t\t\t\tsearchString(list,str);\n\t\t\t}\n\t\t}\n\t}\n}", "topic_link": "https://bbs.csdn.net/topics/600469871", "status": 0, "keywords": "算法高阶,字符串匹配,算法问题选编,Rabin\\Karp算法", "license": "csdn.net", "notebook": { "java": "https://codechina.csdn.net/csdn/csdn-daily-code/-/jupyter/master/data/notebook/answer/ipynb/java/6.ipynb?type=file" } }