1

我想做这样的事情:

文件根 = new File("C:/file.txt");

但是在本地网络上共享的文件夹上。那么假设文件位于 192.168.1.28 上,如何使用上述命令制作它?

接下来不工作:

File root = new File("//192.168.1.2/file.txt");

File root = new File("\\\\192.168.1.2/file.txt");

File root = new File("\\192.168.1.2/file.txt");

File root = new File("file:\\192.168.1.2/file.txt");

File root = new File("file://192.168.1.2/file.txt");

非常感谢。

4

5 回答 5

1

我认为这是可能的。但是,您需要首先使用例如 Samba 挂载共享 - 更多信息在这里 - java 从网络设备读取文件

希望能帮助到你

于 2012-04-27T19:44:42.287 回答
1

您可以使用Apache Commons VFS。它是一个库,允许您在各种文件系统上操作文件,其中一个非常适合您的需要是 CIFS 文件系统:

提供对 CIFS 服务器(例如 Samba 服务器或 Windows 共享)上文件的访问。

URI 格式

smb://[ 用户名[: 密码]@] 主机名[: 端口][ 绝对路径]

例子

smb://somehost/home

CIFS 文件系统的提供程序仍在开发中,但您可以尝试一下。我已经使用该库通过 http 和 ftp 协议提供对文件的透明访问。

于 2012-04-27T19:47:54.463 回答
0

单独的 Java 不支持网络文件共享,因为您提供的代码正在尝试这样做。

但是如果你使用像Samba这样的库,那么你可以。但这与您显示的代码不同。

java从网络设备读取文件

于 2012-04-27T19:43:49.560 回答
0

Java 只是不支持网络文件共享

于 2012-04-27T19:46:14.147 回答
0

使用 Java 1.8,您可以使用 Java 访问共享位置上的文件。假设您要访问共享位置上名为 (Sample.xls) 的 .xls 文件。

String location = "\\\your.shared.location.company.com\\folder1\\folder2\\";
String fileName = "Sample.xls";
FileInputStream fis = new FileInputStream(location + fileName);
于 2019-05-28T18:58:21.383 回答