Scrivi il file I / O sull’unità di rete condivisa utilizzando le credenziali

Voglio rilasciare un file .txt su un’unità di rete condivisa. Il percorso è una mappa su un networkdrive che richiede credenziali (login e password). Posso passare questi parametri usando FileOutputStream?

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){ } 

Grazie.

No. Utilizzare la libreria client Java CIFS . puoi connettere la macchina windows remota tramite java. esempio –

 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(); 

Grazie

Questo codice ha funzionato per me:

  public void downloadFromNetworkDrive3() throws MalformsdURLException, 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); } }