У меня возникли проблемы с созданием программы, которая обнаружила бы ошибку в текстовом файле и распечатала строку, где была ошибка, а также напечатайте номер строки, ошибка включена. Ошибка, что он ищет, если есть 6 слов/цифр на каждой строке, если не было бы ошибкойКак скопировать строку из текстового файла и распечатать строку и номер строки
Для примера:
текст файла
название породы месяц день год вес
название породы месяц
название породы месяц день год вес
*** линии Ошибка в файле:
название породы месяц Ошибка на линии № 2: количество полей должно быть 6, а не 3. *
int numline= 0;
while(sc.hasNextLine())
{
// read a line from the input file via sc into line
line = sc.nextLine();
try{
StringTokenizer stk = new StringTokenizer(line);
String name = stk.nextToken();
String breed = stk.nextToken();
int month = Integer.parseInt(stk.nextToken());
int day = Integer.parseInt(stk.nextToken());
int year = Integer.parseInt(stk.nextToken());
double weight = Double.parseDouble(stk.nextToken());
numline++;
Dog list = new Dog(name, breed, month, day, year, weight);
dogs.add(list);
}
catch(Exception missError)
{
System.out.println("Error Lines detected in file:");
System.out.println("Number of fields on line must be 6");
}
}
// close the file
sc.close();
System.out.println(numline);
место 'numLine ++' как первая строка в вашем блоке 'try' и использовать его в' catch' bolck. –