Precedente :: Successivo |
Autore |
Messaggio |
ZioCrick Eroe in grazia degli dei

Registrato: 19/05/19 11:20 Messaggi: 91
|
Inviato: 16 Set 2025 14:57 Oggetto: Problema puntando ad un NAS con un java.io.File |
|
|
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 |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11844 Residenza: Tokelau
|
Inviato: 17 Set 2025 12:33 Oggetto: |
|
|
ma la Files.copy supporta path di rete? |
|
Top |
|
 |
ZioCrick Eroe in grazia degli dei

Registrato: 19/05/19 11:20 Messaggi: 91
|
Inviato: 20 Set 2025 09:43 Oggetto: |
|
|
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 |
|
 |
|
|
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
|
|