共享位置上的Java打开文件

时间:2012-04-27 19:40:24

标签: java file-io applet

我想做这样的事情:

文件root = 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");

非常感谢。

5 个答案:

答案 0 :(得分:1)

我认为这是可能的。但是,您需要先使用Samba安装共享 - 此处有更多信息 - java read file from network device

希望有所帮助

答案 1 :(得分:1)

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

  

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

     

URI格式

     

smb:// [username [:password] @] hostname [:port] [absolute-path]

     

实施例

smb://somehost/home

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

答案 2 :(得分:0)

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

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

java read file from network device

答案 3 :(得分:0)

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

答案 4 :(得分: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);