0

これは本質的に少し曖昧ですが、それは私がこれに取り組み始めなければならないからです。

Windows共有ドライブの使用を計画しています。これらのファイルは、Windows共有(Linuxで実行されているJavaコードから)から自動的に選択され、さらに処理するために使用されます。

  1. LinuxのJavaコードからWindows共有を使用する際の既知の問題はありますか?これをどのように行うのですか?ファイルシステムのマウントは唯一の方法ですか?
  2. さまざまなファイルシステムコマンドを実行してファイルを一覧表示(またはファイルの移動/ロック/削除など)できますか?

前もって感謝します。

4

2 に答える 2

1

Aapche commons-vfs を見てください。SMB (Windows 共有) をサポートしています。http://commons.apache.org/vfs/

具体的には - http://commons.apache.org/vfs/filesystems.html#CIFS

于 2012-09-05T11:11:00.843 に答える
0

プロジェクトで samba を処理するためにjcifsを使用しました。jcifs.smb.SmbFileに似た名前のクラスがあり、java.io.Filesamba ファイルをローカル ファイルのように処理できます。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);
    }
于 2012-09-05T15:12:28.217 に答える