2012-09-05 37 views
0

这在本质上有点模糊,但那是因为我必须开始在这方面开展工作。通过linux中的java代码从windows共享数据

我们计划使用Windows共享驱动器。我们将自动从Windows共享(从运行在Linux上的Java代码)中选择这些文件并将其用于进一步处理。

  1. 从Linux的java代码使用Windows共享有什么已知的问题吗?我们如何做到这一点?只有挂载文件系统的方式?
  2. 我们可以运行各种文件系统命令来列出文件(或移动/锁定/删除文件等)吗?

在此先感谢。

回答

0

我已经使用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); 
    }