将本地文件传递到 Java 中的 URL

发布于 2024-11-09 08:42:22 字数 47 浏览 0 评论 0原文

如何使用本地文件创建新的 URL 对象以进行单元测试?

How do I create a new URL object using a local file, for the purpose of unit tests?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

暖伴 2024-11-16 08:42:22
new File(path).toURI().toURL();
new File(path).toURI().toURL();
晨曦慕雪 2024-11-16 08:42:22

使用 Java 11:

Path.of(string).toUri();

使用 Java 7:

Paths.get(string).toUri();

要转换为老式 URL 类(为什么?),请添加 .toURL()。请注意,字符串输出存在差异。现代的 URI::toStringfile:/// (传统 URL 语法)开头,而几乎已弃用的 URL::toStringfile:/(现代 URI 语法)。奇怪

Using Java 11:

Path.of(string).toUri();

Using Java 7:

Paths.get(string).toUri();

To convert to the old-school URL class (why?), add .toURL(). Note there is a difference in the string output. The modern URI::toString begins with file:/// (the traditional URL syntax) while the nearly-deprecated URL::toString with file:/ (the modern URI syntax). Weird ????

原来分手还会想你 2024-11-16 08:42:22
new File("path_to_file").toURI().toURL();
new File("path_to_file").toURI().toURL();
箹锭⒈辈孓 2024-11-16 08:42:22
new URL("file:///your/file/here")
new URL("file:///your/file/here")
肥爪爪 2024-11-16 08:42:22
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
浊酒尽余欢 2024-11-16 08:42:22

在这里查看完整的语法:http://en.wikipedia.org/wiki/File_URI_scheme
对于类 Unix 系统,它将像 @Alex 所说的 file:///your/file/here 而对于 Windows 系统将是 file:///c|/path/to/文件

have a look here for the full syntax: http://en.wikipedia.org/wiki/File_URI_scheme
for unix-like systems it will be as @Alex said file:///your/file/here whereas for Windows systems would be file:///c|/path/to/file

最美的太阳 2024-11-16 08:42:22

您还可以使用

[AnyClass].class.getResource(filePath)

You can also use

[AnyClass].class.getResource(filePath)
薔薇婲 2024-11-16 08:42:22

我在 Linux 上用 Java 尝试过。以下可能性是可以的:

file:///home/userId/aaaa.html
file:/home/userId/aaaa.html
file:aaaa.html  (if current directory is /home/userId)

不起作用的是:

file://aaaa.html

I tried it with Java on Linux. The following possibilities are OK:

file:///home/userId/aaaa.html
file:/home/userId/aaaa.html
file:aaaa.html  (if current directory is /home/userId)

not working is:

file://aaaa.html
入画浅相思 2024-11-16 08:42:22

对于 Windows:
如果文件位于某个驱动器中,则可以按此方式使用:

例如:

实际链接:

“C:\Users\er2\Downloads\Designer3.png”

转换后的链接:

“file:/C:/用户/er2/Downloads/Designer3.png"

For Windows:
You have use in this way if file is in some drive:

eg.:

Actual link:

"C:\Users\er2\Downloads\Designer3.png"

Converted link:

"file:/C:/Users/er2/Downloads/Designer3.png"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文