Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编写一个查找程序,搜索命令行上指定的所有文件,并打印出包含指定单词的所有行_Java - Fatal编程技术网

Java 编写一个查找程序,搜索命令行上指定的所有文件,并打印出包含指定单词的所有行

Java 编写一个查找程序,搜索命令行上指定的所有文件,并打印出包含指定单词的所有行,java,Java,编写一个查找程序,搜索命令行上指定的所有文件,并打印出包含指定单词的所有行。例如,如果你打电话 java Find ring report.txt addres.txt家庭作业.java 然后程序可能会打印出来 report.txt:打破了一个DVD盗版者的国际圈子 address.txt:Kris Kringle,北极 address.txt:霍默·辛普森,斯普林菲尔德 java:字符串文件名 首先,我不知道如何存储命令行中给出的所有字符串。此外,我的代码只打印找到的单词后的部分行(因此,

编写一个查找程序,搜索命令行上指定的所有文件,并打印出包含指定单词的所有行。例如,如果你打电话

java Find ring report.txt addres.txt家庭作业.java

然后程序可能会打印出来

report.txt:打破了一个DVD盗版者的国际圈子
address.txt:Kris Kringle,北极
address.txt:霍默·辛普森,斯普林菲尔德
java:字符串文件名

首先,我不知道如何存储命令行中给出的所有字符串。此外,我的代码只打印找到的单词后的部分行(因此,对于inst6,它只打印出:个DVD盗录者的第一个文件。我如何解决这些问题?有人能帮我吗

以下是我的尝试:

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


public class P6 {

    /**
     * @param args
     * @throws FileNotFoundException 
     */
    public static void main(String[] args) throws FileNotFoundException {
        // TODO Auto-generated method stub


        for (int i = 0; i<args.length; i++)
        {
            String arg = args[i];
        }

        String input = "ring";

        File one = new File("report.txt");
        Scanner in = new Scanner(one);
        while (in.hasNext())
        {
            String een = in.next();

            if(een.matches(input))
            {
                System.out.println(in.nextLine());
            }
        }

    }

}
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Scanner;
公共课P6{
/**
*@param args
*@抛出FileNotFoundException
*/
公共静态void main(字符串[]args)引发FileNotFoundException{
//TODO自动生成的方法存根
for(int i=0;i
publicstaticvoidmain(String[]args)抛出FileNotFoundException{
字符串输入=args[0];
对于(int i=1;i
试试这个:

File one = new File("try.txt");
    Scanner in = new Scanner(one);
    String input = "jha";
    while (in.hasNextLine()) {
        String een = in.nextLine();

        if (een.contains(input)) {
            System.out.println(een);
        }
    }

你想在命令行中阅读给定文件名的内容吗?@msw和你的其他评论一样,这篇评论也没有什么帮助。我试图以最好的方式陈述这个问题,并记录了我的尝试。因为我是这个论坛的新手,你也可以告诉我应该更改什么,并尝试帮助我找到答案。l@AchintyaJha对没错。它应该检查命令行中的所有程序中是否有一个特定的单词,然后打印出该单词出现的程序的整行。@msw不,我没有让任何人帮我做作业,因为它甚至不是作业。我在理解一个练习时遇到问题,我问了一些具体的问题,关于如何做作业完成。但是,你的评论毫无帮助,只是想冒犯我。因此,如果你无法控制自己,请以后忽略我的问题。非常感谢!这绝对是完美的!一个非常优雅的解决方案。我非常感谢你的帮助:D!你还应该确保
args
至少包含两个元素,并且命令行中指定的文件存在。我认为while(in.hasNext())应该是while(in.hasNextLine())。您的代码与mause的代码没有区别……但由于mause对其进行了投票,我取消了我的投票。@johnchen902我对所有认真尝试帮助我的人进行投票。因此,我对他进行了投票:))。
File one = new File("try.txt");
    Scanner in = new Scanner(one);
    String input = "jha";
    while (in.hasNextLine()) {
        String een = in.nextLine();

        if (een.contains(input)) {
            System.out.println(een);
        }
    }