Newsgroup: it.comp.java
Titolo: Aprire un file excel in rete

Ciao a tutti, sono alle prime armi con java. Non sono capace di aprire
un file che si trova in /
192.168.1.1/archivio/primo.xls
. Questo è il
codice che uso:
URL source = new URL(filename);
POIFSFileSystem fs = new POIFSFileSystem(source.openStream());
e questo è l'errore:
sun.net.ftp.FtpLoginException: Not logged in
	at sun.net.ftp.FtpClient.readReply(FtpClient.java:231)
	at sun.net.ftp.FtpClient.issueCommand(FtpClient.java:193)
	at sun.net.ftp.FtpClient.login(FtpClient.java:516)
	at sun.net.www.protocol.ftp.FtpURLConnection.connect
(FtpURLConnection.java:276)
	at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream
(FtpURLConnection.java:352)
	at excel.WriteExcelExample.<init>(WriteExcelExample.java:24)
	at excel.WriteExcelExample.main(WriteExcelExample.java:74)
Potete darmi qualche suggerimento?
Grazie mille.

il 21/01/2009 18.22, Scrive mortirolo 43537240:

Cosa c'e' scritto in filename?
Dallo stacktrace sembrerebbe un url ftp e dalla FtpLoginException 
sembrerebbe che non sia ben formato, ovvero manca user e possibilmente 
anche la password.
Se filename = "/
192.168.1.1/archivio/primo.xls
" allora e' sicuramente 
sbagliato in quanto non c'e' l'indicazione del protocollo. Se doveva 
essere il percorso di un file-system locale o in rete, filename deve 
iniziare con "file:///"+percorso.
Se era davvero un url ftp nella forma 
ftp://192.168.1.1/archivio/primo.xls
allora potrebbe mancare user e password 
ftp://user:pass...@192.168.1.1/archivio/primo.xls
-- 
Dr.Ugo Gagliardelli,Modena,ItalyCertifiedUindoscrasherAñejoAlcoolInside
Spaccamaroni andate a cagare/Spammers not welcome/Spammers vão à merda
Spamers iros a la mierda/Spamers allez vous faire foutre/Spammers loop
schijten/Spammers macht Euch vom Acker/Spamerzy wypierdalac'

 Cosa c'e' scritto in filename?
Hai ragione, il protocollo è file.
Se faccio file://
192.168.1.1/archivio/primo.xls
 mi dà l'errore che ti
ho riportato ed è errato. Se invece faccio file:///
192.168.1.1/archivio/primo.xls
non mi trova il file. Il server 192.168.1.1 è una macchina windows, se
eseguo il codice da un client windows *dopo* essermi loggato,
funziona. Se invece eseguo il codice dal mio pc (linux) non trova il
file ecco l'errore:
java.io.FileNotFoundException: /
192.168.3.1/archivio/primo.xls
 (No
such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at java.io.FileInputStream.<init>(FileInputStream.java:66)
	at sun.net.www.protocol.file.FileURLConnection.connect
(FileURLConnection.java:70)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream
(FileURLConnection.java:161)
	at java.net.URL.openStream(URL.java:1009)
	at excel.WriteExcelExample.<init>(WriteExcelExample.java:26)
	at excel.WriteExcelExample.main(WriteExcelExample.java:60)
quindi il problema è capire come fare ad autenticarsi sul server.

il 22/01/2009 9.50, Scrive mortirolo 43537240:

Da windows l'accesso via smb utiizza l'utente di login di windows, come 
hai gia' sperimentato, su linux direi che tu debba specificare le 
credenziali di accesso durante il mount del file system smb, ma non ne 
sono cosi' sicuro.
