带有URI的Java相对路径

时间:2018-09-20 07:49:26

标签: java uri

下面的代码读取本地文件。

cell.characterThumbnail.layer.masksToBounds = true
cell.characterThumbnail.layer.cornerRadius = 15

但是,我想要完全相同的内容,但使用URI。所以我的新代码如下:

aspectFill

final String filepath= "my/path/to/file.txt"; try (BufferedReader reader = Files.newBufferedReader(Paths.get(filepath))){ System.out.println("First line : "+reader.readLine()); } 是绝对路径时,这很好用。但是我希望即使在相对路径下也可以使用它(如第一个代码)。

我该怎么做?

编辑:

我使用的解决方案是在需要本地相对路径时使用“正常”路径,在其他情况下(绝对路径或远程)使用URI。

所以我的代码是这样的:

final String filepath= "file:///my/path/to/file.txt";

try (BufferedReader reader = Files.newBufferedReader(Paths.get(new URI(filepath)))){
    System.out.println("First line : "+reader.readLine());
}

这不是很漂亮,但是工作已经完成。如果有更好的解决方案,我仍然愿意接受。

1 个答案:

答案 0 :(得分:0)

您可以使用类似这样的多余的东西:

        URI uri = URI.create("file://" + Paths.get("my/path/to/file.txt").toAbsolutePath());

    try (BufferedReader reader = Files.newBufferedReader(Paths.get(uri))){
        System.out.println("First line : "+reader.readLine());
    }

如果可以,请与我们分享您需要一个URI指向相对路径文件的情况。