Путь доступа к файлу в массиве java - PullRequest
0 голосов
/ 26 февраля 2020

Я использую массив файлов.

String[] allFiles = new String[]{"real.xml", "fake.xml"}; 

Я получаю эту ошибку, что

java.nio.file.NoSuchFileException: C:\Users\rio\rio-workspace\real.xml

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

System.out.println(allFiles.toAbsolutePath());

Буду признателен, если кто-то даст правильную команду, чтобы узнать об этой проблеме.

Спасибо

Ответы [ 3 ]

1 голос
/ 26 февраля 2020

Сделайте это следующим образом:

import java.nio.file.Paths;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] allFiles = { "output.txt", "test.txt" };

        // First method
        for (String file : allFiles) {
            System.out.println(Paths.get(file).toAbsolutePath());
        }

        // Second method (by using Stream)
        Arrays.stream(allFiles).forEach(file -> System.out.println(Paths.get(file).toAbsolutePath()));
    }
}
1 голос
/ 26 февраля 2020

Все относительные файлы заполняются из значения в System.getProperty("user.dir");

0 голосов
/ 26 февраля 2020

Пример

File[] thoseFiles = new File(System.getProperty("user.dir")).listFiles();
for (int i = 0; i < thoseFiles.length; i++) {
    System.out.println(thoseFiles[i].getAbsolutePath());
}

Или, если вы решили хранить файлы в папке

File[] thoseFiles = new File("ThatFolder").listFiles();
for (int i = 0; i < thoseFiles.length; i++) {
    System.out.println(thoseFiles[i].getAbsolutePath());
}

Это можно расширить с помощью Filefilter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...