2015-10-03 2 views
-2

У меня возникли проблемы при чтении нескольких текстовых файлов, чтобы они вписывались в один сканер, например, у меня есть несколько текстовых файлов с именем text1.txt, text2.txt и т. Д. Я пытаюсь сделать так, чтобы один раз пользователь вводит номер текстового файла, который им нужен, он будет выводить эти данные через массивы.Чтение нескольких текстовых файлов java

File txt = new File("text.txt"); 

void readTextFiles() throws IOException { 
String line[] = new String[100]; 
Scanner readTextFiles= new Scanner(txt); 

while (readTextFiles.hasNextLine()) { 
    line[q] = readTextFiles.nextLine(); 
    if (line[q].trim() != "") { 
    String item[] = line[i].split(" "); 
    time[q] = item[0]; 
    date[q] = item[1]; 
    } 
    q++; 

} 
readTextFiles.close(); 
} 

моя логика работает как это, но его ошибка код:

File txt= new File("txt" + textFileNumber + ".txt"); 
int textFileNumber=0;` 
+0

В чем проблема? –

+0

Мне нужно использовать 1 метод, который может работать с несколькими текстовыми файлами, поэтому, когда пользователь хочет прочитать текстовый файл 2, метод может получить этот конкретный файл, и если он хочет прочитать текстовый файл 3, он может получить этот файл тем же способом – DOGGIES52

ответ

0

Если я правильно понял, то ошибка, которую вы получили, потому что инициализация локальной переменной не предшествует его использование. Вы должны объявить textFileNumber перед его использованием в конкатенации строк. Далее вы реализуете эту функцию как метод. Итак, почему бы не сделать номер файла параметром метода?

public void readTextFiles(int fileNumber){ 
    File txtFile = new File("text" + fileNumber + ".txt"); 
    //logic 
} 
+0

thats это работало didnt знают, что Вы должны были положить это в метод cheers – DOGGIES52

Смежные вопросы