2012-09-05 3 views
0

이것은 사실상 애매 모호합니다.하지만이 작업을 시작해야하기 때문입니다.Windows에서 데이터를 소비하는 것이 리눅스에서 자바 코드를 통해 공유합니다.

Windows Share Drive를 사용할 계획입니다. Windows 공유 (Linux에서 실행되는 Java 코드)에서 이러한 파일을 자동으로 선택하여 추가 처리에 사용합니다.

  1. Linux의 Java 코드에서 Windows 공유를 사용할 때 알려진 문제가 있습니까? 어떻게해야합니까? 파일 시스템 만 마운트하는 중입니까?
  2. 파일을 나열하거나 (파일을 이동/잠 그거나 삭제하는 등) 다양한 파일 시스템 명령을 실행할 수 있습니까?

미리 감사드립니다.

답변

1

Aapche commons-vfs를 살펴보십시오. SMB (Windows Shares)를 지원합니다.

http://commons.apache.org/vfs/은 특히 - http://commons.apache.org/vfs/filesystems.html#CIFS

+0

감사합니다. 도움이 보입니다! 내가 이해하는 것으로부터 더 이상 문제가되어서는 안됩니다. 마찬가지로, 윈도우를 주시 할 수있는 filewatcher를 설정하기위한 좋은 링크는 리눅스에서 우리에게 알려주고 알려줍니다. – instanceOfObject

0

나는 내 프로젝트에서 삼바를 다루는 jcifs을 사용했다. 로컬 파일과 같은 samba 파일을 처리 할 수있는 java.io.File과 비슷한 클래스 jcifs.smb.SmbFile이 있습니다. 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); 
    }