有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从绝对路径到相对路径的转换

我想转换这个相对路径 /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;

}

共 (3) 个答案

  1. # 1 楼答案

    我个人认为你对什么是相对/绝对路径有错误的理解。 绝对路径指定从根目录到文件的路径,而相对路径指定从当前目录(位置)到指定文件的路径

    您提供的路径已经是绝对路径

  2. # 2 楼答案

    你错过了绝对路径和相对路径之间的混淆,所以我想你是在问这个问题:

    ./Music/part1/ints10000.dat
    
  3. # 3 楼答案

    如果你想把相对路径转换成绝对路径,我建议你使用File.getCanonicalPath()你可以看到它上面的文档here。此外,您还可以阅读有关相对和绝对路径转换here的更多信息

    因此,如果你想找到相对路径,你可以写下如下内容:

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

    话虽如此,请注意Unix系统绝对文件路径是从/home目录引用的。指定的文件路径可能已经是绝对路径