Я решил не лучшим способом но куча раз тестировал и выводилось все верно.
Сначала в цикле я присваиваю каждому элементу массива строку из файла
Затем я прогоняю по циклу и проверяю по id
package com.javarush.task.task18.task1822;
/*
Поиск данных внутри файла
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream inputStream = new FileInputStream(reader.readLine());
String[] string = new String[inputStream.available()];
int id = Integer.parseInt(args[0]);
for(int i = 0; i < string.length; i++) string[i] = "";
int indexofStr = 0;
while(inputStream.available() > 0)
{
int data = inputStream.read();
while(data != '\n')
{
string[indexofStr] += (char) data;
data = inputStream.read();
}
indexofStr++;
}
inputStream.close();
reader.close();
for(int i = 0; i < string.length; i++)
{
if(string[i].equals("")) break;
if(id > 0&& id <=9)
{
if(string[i].startsWith(""+id)&& !string[i].startsWith(" ",2)) {
System.out.println(string[i].substring(2));
break;
}
}
if(id > 9&& id <= 99) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(2));
break;
}
}
if(id > 99&& id <= 999) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(3));
break;
}
}
if(id > 999&& id <= 9999) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(4));
break;
}
}
if(id > 9999&& id <= 99999) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(5));
break;
}
}
if(id > 99999&& id <= 999999) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(6));
break;
}
}
if(id > 999999&& id <= 9999999) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(7));
break;
}
}
if(id > 9999999&& id <= 99999999) {
if (string[i].startsWith("" + id)) {
System.out.println(string[i].substring(8));
break;
}
}
}
}
}