gpt4 book ai didi

java - 文件://prefix mean when reading a file是什么

转载 作者:行者123 更新时间:2023-11-30 06:41:33 25 4
gpt4 key购买 nike

我看到两种类型的文件引用,例如:我有一个名为 a.txt 的文件位于:/tmp/a.txt

这两种引用类型要么直接指向它:“/tmp/a.txt”,要么为文件添加“hdfs,local,file”前缀。我想知道使用这个前缀是什么意思。 hdfs 的情况很简单,但使用其他情况有什么意义呢?示例:

    String file = "/tmp/a.txt";
FileInputStream fileInputStream = new FileInputStream(file);
System.out.println(fileInputStream.available());

file = "local://tmp/a.txt";
fileInputStream = new FileInputStream(file);
System.out.println(fileInputStream.available());

file = "file://tmp/a.txt";
fileInputStream = new FileInputStream(file);
System.out.println(fileInputStream.available());

绝对路径返回结果,localfile路径抛出FileNotFoundException

最佳答案

file:// 是引用本地网络上文件的协议(protocol)。不像http://是通过http请求来引用资源。

查看更多File URI Scheme
更多 File URI Slashes issue

可以使用file前缀,但需要转换为合法路径:

String path = "file:///tmp/a.txt";
URI uri = new URI(path);
FileInputStream stream = new FileInputStream(new File(uri));

关于java - 文件://prefix mean when reading a file是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com