使用权限组件创建新文件(URI)

时间:2014-10-24 20:15:48

标签: java

当从网络文件夹运行我的java应用程序时,我遇到了一个IllegalArgumentException,指出:URI有一个权限组件。

我调试并发现问题是我通过传入带有权限组件的URI来创建新文件。以前,我从来没有遇到过这个问题,因为我总是在本地运行应用程序而且没有权限组件。

URI uri = new URI("...network path...//myFile");

这会引发错误:

File file = new File(uri);

这有效:

File file = new File(uri.toString());

我在File(Uri)构造函数中看到它不允许带有权限组件的URI。任何人都可以解释原因吗?为什么我被允许为String创建一个文件?

谢谢!

1 个答案:

答案 0 :(得分:0)

File类用于引用本地文件。它适用于FileInputStream等类,它们不执行网络I / O,因此无法读取远程文件。