Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Problema puntando ad un NAS con un java.io.File
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
ZioCrick
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 19/05/19 11:20
Messaggi: 91

MessaggioInviato: 16 Set 2025 14:57    Oggetto: Problema puntando ad un NAS con un java.io.File Rispondi citando

Buongiorno a tutti.

Sto facendo un programma Java in cui vengono copiati dei file dal disco fisso ad altri dischi USB o NAS.

Ho una stringa che contiene il percorso completo di un file, per esempio:
String sFile = "/media/Dati/Cartella/File.txt";
se faccio:
java.io.File fiName = new File(sFile);
la fiName.getPath() restituisce il percoso completo corretto.

Se invece la sFile contiene il percorso verso un NAS, esempio: "smb://nas1/public/Cartella/File.txt"
la fiName.getPath() restituisce "smb:/nas1/public/Cartella/File.txt"
ovvero mi toglie il secondo "/" dopo "smb:"

Questo fa si che le opertazioni con fiName, tipo una Files.copy non vanno a buon fine, perchè fiName non punta al NAS ma ad una cartella locale del disco in cui c'è l'ambiente di sviluppo.

Qualcuno sa darmi una mano su come risolvere?
Top
Profilo Invia messaggio privato HomePage
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11844
Residenza: Tokelau

MessaggioInviato: 17 Set 2025 12:33    Oggetto: Rispondi citando

ma la Files.copy supporta path di rete?
Top
Profilo Invia messaggio privato HomePage
ZioCrick
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 19/05/19 11:20
Messaggi: 91

MessaggioInviato: 20 Set 2025 09:43    Oggetto: Rispondi

Scusa il ritardo nel rispondere, ma in questi giorni sto impazzendo su questo problema.

In effetti ho scoperto che il Files non gestisce i pat della rete.

E mi hanno suggerito di aggiungere la libreira smbj-0.13.0.jar con tutte le sue dipendenze.
L'ho fatto ma ora sto litigando con un esempio che ho trovato in rete perché prima non mi vedeva il NAS con l'indirizzo: smb://nas1
Allora ho scoperto che me lo vede solo se uso l'indirizzo IP.

Ma adesso non fa ciò che è richiesto.
L'esempio è questo:

Codice:

SMBClient client = new SMBClient();
   try (Connection connection = client.connect("Indirizzo IP")) {
     AuthenticationContext ac = new AuthenticationContext("User", "Password".toCharArray(), "Domain");
     Session session = connection.authenticate(ac);
                                                             // Connect to Share.
     try (DiskShare share = (DiskShare) session.connectShare("NomeShare")) {
       for (FileIdBothDirectoryInformation f : share.list("NomeDirectory", "*.*")) {
         System.out.println("File : " + f.getFileName());
       }
     }
   } catch (IOException ex) {
     Logger.getLogger(IntBckFrm.class.getName()).log(Level.SEVERE, null, ex);
   }


ma invece di farmi l'elenco dei file della "NomeDirectory" mi fa vedere solo:

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
File : .
File : ..

Se qualcuno ha qualche idea...
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi