这在本质上有点模糊,但那是因为我必须开始在这方面开展工作。通过linux中的java代码从windows共享数据
我们计划使用Windows共享驱动器。我们将自动从Windows共享(从运行在Linux上的Java代码)中选择这些文件并将其用于进一步处理。
- 从Linux的java代码使用Windows共享有什么已知的问题吗?我们如何做到这一点?只有挂载文件系统的方式?
- 我们可以运行各种文件系统命令来列出文件(或移动/锁定/删除文件等)吗?
在此先感谢。
这在本质上有点模糊,但那是因为我必须开始在这方面开展工作。通过linux中的java代码从windows共享数据
我们计划使用Windows共享驱动器。我们将自动从Windows共享(从运行在Linux上的Java代码)中选择这些文件并将其用于进一步处理。
在此先感谢。
看看Aapche commons-vfs。它支持SMB(Windows共享)。 http://commons.apache.org/vfs/
我已经使用jcifs处理在我的项目桑巴舞。有一个类jcifs.smb.SmbFile
类似于java.io.File
可以像处理本地文件一样处理samba文件。像listFiles()
,delete()
,exists()
,getInputStream()
,createNewFile()
等方法应该可以满足您的需求。
这是一个低地文件演示,希望它可以帮助你。
SmbFileInputStream is = null;
FileOutputStream os = null;
//
String souFileUrl = "smb://" + user + ":" + password + "@" + server + "/" + souFileName;
SmbFile souSmbFile = new SmbFile(souFileUrl);
is = new SmbFileInputStream(souSmbFile);
File tempOutFile = new java.io.File(newfilename);
os = new FileOutputStream(tempOutFile);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
非常感谢!看起来很有帮助!据我所知,这不应该是任何问题了。同样,任何设置filewatcher的好链接都可以关注windows共享并在Linux上告知我们? – instanceOfObject