Написать программу Найти, что ищет все файлы, указанные в командной строке, и выводит все строки, содержащие указанное слово. Например, если вы звонитеЗаписать программу Найти, что ищет все файлы, указанные в командной строке, и выводит все строки, содержащие указанное слово
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
Прежде всего, я не мог понять, как хранить все строки, которые приведены в командная строка. Кроме того, мой код только распечатывает часть строки после найденного слова (поэтому для inst6ance он выводит только: из бутлегеров 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());
}
}
}
}
Вы хотите прочитать содержимое данного имени файла в командной строке –
@msw Как и ваш другой комментарий, этот комментарий не очень полезен. Я попытался сформулировать вопрос наилучшим образом, и я записал свою попытку. Поскольку я новичок в этом форуме, вы также можете просто сказать мне, что я должен изменить, и попытаться помочь мне найти ответ. – dreamer
@AchintyaJha Да, это правда. Он должен проверять все программы из командной строки на одно конкретное слово, а затем распечатывать всю строку этой программы, в которой отображается это слово. – dreamer