File类用于引用本地文件。它用于FileInputStream等类,这些类不进行网络I/O,因此无法读取远程文件。
在从网络文件夹运行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创建一个文件?
谢谢!