0

コマンドラインで指定されたすべてのファイルを検索し、指定された単語を含むすべての行を出力するプログラム Find を作成します。たとえば、

java Find ring report.txt addres.txt Homework.java

その後、プログラムは印刷される可能性があります

report.txt: has broken up an international ring of DVD bootleggers that
address.txt: Kris Kringle, North Pole
address.txt: Homer Simpson, Springfiled
Homework.java: String filename

まず、コマンドラインで指定されたすべての文字列を格納する方法がわかりませんでした。さらに、私のコードは、見つかった単語のの行の一部のみを出力します (したがって、例として、最初のファイルの 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());
            }
        }

    }

}
4

2 に答える 2

1
public static void main(String[] args) throws FileNotFoundException {
    String input = args[0];
    for (int i = 1; i < args.length; i++) {
        System.out.println(" File  " + args[i]);
        File one = new File(args[i]);
        Scanner in = new Scanner(one);
        while (in.hasNext()) {
            String line = in.nextLine();
            if (line.contains(input)) {
                System.out.println(line);
            }
        }
    }
}
于 2013-04-23T12:38:55.057 に答える
0

これを試して:

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);
        }
    }
于 2013-04-23T12:43:28.187 に答える