Преобразование из абсолютного в относительный путь

#java #linux #fedora #relative-path #absolute-path

#java #linux #fedora #относительный путь #абсолютный путь

Вопрос:

Я хотел бы преобразовать этот относительный путь /home/ cce2050/Music / part1 /ints10000.dat в его абсолютный путь. Кто-нибудь может подсказать мне путь?

 public static String[] split() throws FileNotFoundException, IOException {

    BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("/home/cce2050/Music/part1/ints10000.dat")));

    String line;

    String[] aList = new String[10000];

    while ((line = reader.readLine()) != null) {

        aList = line.split("\s ");

    }

    return aList;

}
  

Ответ №1:

Если вы хотите преобразовать относительный путь в абсолютный, я бы рекомендовал использовать, File.getCanonicalPath() Вы можете посмотреть документацию по нему здесь. Кроме того, вы можете прочитать немного больше о преобразованиях относительного и абсолютного путей здесь.

Итак, если вы хотите найти относительный путь, вы могли бы написать что-то вроде:

 String absolutePath = (new File("Your/Relative/Path")).getCanonicalPath()
  

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

Ответ №2:

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

Указанный вами путь уже является абсолютным путем.

Ответ №3:

Вы упустили путаницу между абсолютным и относительным путями, поэтому я думаю, что вы спрашиваете об этом:

 ./Music/part1/ints10000.dat