【发布时间】:2011-09-20 06:51:44
【问题描述】:
有没有办法从 Windows 上的网络共享位置读取文件?
假设我有一个简单的代码,它从 Addons 文件夹。
import java.io.File;
class Sample{
public static void main(String[] ar){
File file = new File("Addons/ReadMe.txt");
System.out.println(file.getAbsolutePath());
//followed by printing the contents of file
}
}
我使用具有
的 Windows 批处理 runme.bat 执行此文件java Sample
PAUSE
只有当我将带有 ReadMe.txt、Sample.class、runme.bat 文件的 Addons 文件夹放在本地驱动器中时,bat 才会运行并执行上述类。
当它被放置在具有 UNC 路径的网络共享位置时,例如 \\name\Shared
在这种情况下,bat 文件通常从 C:\Windows 开始并抛出 classNotFoundException。我宁愿将共享驱动器映射到 *Z:* 驱动器或其他任何东西,但我不想这样做。
我希望代码以编程方式检测和检索 Addons 文件夹中 Readme.txt 的内容,无论它是在本地驱动器上还是在共享驱动器上执行。有没有办法做到这一点?请帮忙..
谢谢
维凯
【问题讨论】:
-
您可能会在这里找到提示:stackoverflow.com/questions/1682194/…
-
据我所知没有。映射驱动器是但 UNC 路径没有。
-
如何有一个免费的 DLL 可以与 java 一起使用并访问 UNC,但不能立即访问,但我不是 100%,因此只能作为评论留下。 100%DLL 方式但不是 100% 没有它。如果我有任何意义。
-
如果您遇到类未找到异常,则表示您的环境设置不正确。即它甚至没有尝试使用你的 UNC 路径,因为它无法加载类。