2012-05-15 20 views
7

Paylaşılan bir ağ sürücüsüne bir .txt dosyası bırakmak istiyorum. Yol, kimlik bilgileri (oturum açma ve şifre) gerektiren bir ağ sürücüsündeki bir haritadır. FileOutputStream kullanarak bu parametreleri iletebilir miyim? I/O dosyasını paylaşılan ağ sürücüsüne kimlik bilgilerini kullanarak yaz

 FileOutputStream fos; 
     DataOutputStream dos; 

     try { 
      File file= new File(path + "/" + fileName + ".txt"); 
      fos = new FileOutputStream(file); 
      dos=new DataOutputStream(fos); 
      dos.writeChars(stringContent); 
      dos.close(); 
      fos.close(); 
     } 
     catch(IOException eio){ 
     } 

size

cevap

12

No. Kullanımı java CIFS Client library ederiz. uzak pencereler makinesini java'ya bağlayabilirsiniz. örnek - Bu kod benim için çalıştı

+1

bu konuda herhangi bir deneyimi yok mu: şimdi özel bir kitaplık kullandığını, ben dahil etmek gerekiyor .jar dosyası veya benzeri bir şey? Kavanoz dosyası bu sınıflarla başka nasıl çalışabilir? – Hazaart

+0

jcifs-1.1.11.jar kavanozunu http://jcifs.samba.org/src/](http://jcifs.samba.org/src/ adresinden indirin ve bu jar'ı oluşturma yolunuza ekleyin. –

+2

Eğer alan adınız varsa o zaman alan adınızı kullanmanız gerekir: şifre: –

0

String user = "user:password"; 
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user); 
String path = "smb://my_machine_name/D/MyDev/test.txt"; 
SmbFile sFile = new SmbFile(path, auth); 
SmbFileOutputStream sfos = new SmbFileOutputStream(sFile); 
sfos.write("Test".getBytes()); 
sfos.close(); 

Teşekkür:

public void downloadFromNetworkDrive3() throws MalformedURLException, SmbException, IOException { 
     String user = "domain;username:password";//domain name which you connect 
     NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user); 
     String path = "smb://198.168.20.27/D$/MICROS/opera/export/OPERA/dinaamum/audit/Thumbs.db"; 

     SmbFile sFile = new SmbFile(path, auth); 
     SmbFileOutputStream sfos; 
     SmbFileInputStream sfis; 
     try { 
//  sfos = new SmbFileOutputStream(sFile); 
      sfis = new SmbFileInputStream(sFile); 

//  sfos.write("hihowareyou".getBytes()); 
      File tempFile = null; 
      String filePath = null; 
      filePath = "c://usr/local/cache/leelafiles"; 
      tempFile = new File(filePath); 
      if (tempFile.exists()) { 
      } else { 
       tempFile.mkdirs(); 
      } 
      tempFile = new File(filePath); 
//  File[] allFilesAndDirs = tempFile.listFiles(); 
      FileOutputStream writer = new FileOutputStream(tempFile + File.separator + "Thumbs.db"); 
      byte[] b = new byte[8192]; 
      int n; 
      while ((n = sfis.read(b)) > 0) { 
       System.out.write(b, 0, n); 
       writer.write(b, 0, n); 
      } 
      sfis.close(); 
      writer.close(); 

     } catch (UnknownHostException ex) { 
      Logger.getLogger(ReportSchedulerJob.class.getName()).log(Level.SEVERE, null, ex); 
     } 

    } 
+1

Lütfen sadece döküm kodunu değil, OP bağlamında açıkla .. Lütfen üçüncü parti bir kavanoz da eklediniz [CIFS İstemci kütüphanesi] (https://jcifs.samba.org/) –

+0

Üzgünüz! Evet, bağlamı yazmayı unuttum, ancak kullanıcı adı ve parola kullanarak ağ sürücüsünden herhangi bir dosyayı okumak için bu kod ve üçüncü parti jar CIFS İstemci kitaplığı gerektiriyor –

İlgili konular