Как вы читаете из файла, когда вы не знаете, где файл будет расположен? - PullRequest
1 голос
/ 09 июня 2019

В основном я пытаюсь настроить сканер, который читает из файла.Я знаю, каким будет имя файла, но я не буду знать, где он будет расположен.В целях тестирования, я мог бы знать, но если мой учитель проверяет это, я не буду знать, где файл будет расположен на их устройстве.

Странно, я даже не могу заставить его работать, знаякаталог.Из того, что я искал, люди говорят, что когда вы просто ищете файл, используя: «testdata.txt», он должен искать текущий каталог, в котором находится ваш проект. Я попробовал это, поместив мой тестовый файл в папку, гдеМой проект находится, но я все еще получаю FileNotFoundException.

// Make scanner and read jobs into array
String fileName = "testdata.txt";
Scanner sc = new Scanner(new File(fileName));

1 Ответ

1 голос
/ 10 июня 2019

Я предлагаю использовать FileInputStream с и BufferedReader с. По моему опыту, класс Scanner немного странный. Вы можете попробовать что-то вроде этого, если вы только читаете из файла:

File file = new File("path.txt");

List<String> jobs = new ArrayList<String>();

try (BufferedReader reader = new BufferedReader(new FileReader(file)) {
    String line = "";

    while ((line = reader.readLine()) != null) {
        jobs.add(line);
    }
} catch (IOException e) {
    // handle errors
}

String[] jobArr = new String[jobs.size()];
jobs.toArray(jobArr);

Таким образом, вы также можете читать построчно и обрабатывать каждую строку отдельно.

...