Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini è uno smartwatch compatto capace di offrire un'esperienza completa di monitoraggio della salute e fitness con una cassa da 43 mm che può adattarsi a qualsiasi tipo di polso, dal più grande al - soprattutto - più piccolo. Con l'architettura dual-chip e un'autonomia che può coprire due giorni con tranquillità, rappresenta la soluzione ideale per chi cerca prestazioni premium in un formato ridotto.
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Dopo il recente lancio della serie Xiaomi 15T di Monaco, vi parliamo oggi della versione più performante della nuova famiglia, ovvero Xiaomi 15 T Pro. Vi raccontiamo la nostra prova nel dettaglio, spiegando perché a questo prezzo e in questa fascia, questo smartphone ha davvero senso tenerlo in seria considerazione.
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer ha ampliato la sua offerta professionale con il TravelMate P6 14 AI, un notebook ultraleggero e robusto pensato per chi lavora in mobilità. Certificato Copilot+ PC, combina design premium, autonomia elevata e piattaforma Intel Core Ultra Serie 2 con funzionalità AI, garantendo sicurezza, affidabilità e produttività per l'utenza business moderna.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-07-2005, 14:35   #1
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
[JAVA] LIST per FTP Server

Ciao Ragazzi, ho bisogno sul serio di un vostro consiglio. Ho quasi terminato la realizzazione di un server FTP secondo le rfc 959. C'è solo una cosa che non riesco a fare...
Quando il server riceve un LIST, invia il contenuto della directory locale al client. Ho assoluto bisogno di sapere come produrre in java un listato simile a questo:
Codice:
drwxrwxr-x    2    root    bin   7168  Mar  18 05:13 .
drwxrwxr-x  25    root    sys   1024  Jan    7 09:16 ..
-r-sr-xr-x     1    root    bin   32868 Jan   29 05:13 login
-r-xr-xr-x     1    bin      bin  17500  Oct  25 1995  ls
-r-x--s--x    1    bin      mail 66208  Jan    6 20:16 mail
ovvero il risultato di un "ls -al" unix fattibile anche da windows.
Grazie mille.. spero che mi aiutiate a risolvere il problema!
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2005, 16:01   #2
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...mh...penso tu debba ricreartelo esegundo per ogni file comandi come MDTM e SIZE...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2005, 19:47   #3
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
ciao, grazie x il supporto innanzi tutto..
per favore potresti essere un po' più preciso che non conosco tali sistemi???
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2005, 20:35   #4
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...ci sono diversi modi per interfacciarsi ad un FTP da java...l'idea di base è quella di creare una connessione e due stream per dialogare con il server...

Codice:
try {
	URL url = new URL("ftp://user:password@ftp.dominio.com");
	URLConnection urlc = url.openConnection();
	InputStream is = urlc.getInputStream(); 
	OutputStream os = urlc.getOutputStream();

	} catch (Exception e) {
		
		e.printStackTrace();
	}
...ecco un elenco dei piu' comuni comandi utilizzabili...

Codice:
    * ABOR - abort a file transfer
    * CWD - change working directory
    * DELE - delete a remote file
    * LIST - list remote files
    * MDTM - return the modification time of a file
    * MKD - make a remote directory
    * NLST - name list of remote directory
    * PASS - send password
    * PASV - enter passive mode
    * PORT - open a data port
    * PWD - print working directory
    * QUIT - terminate the connection
    * RETR - retrieve a remote file
    * RMD - remove a remote directory
    * RNFR - rename from
    * RNTO - rename to
    * SITE - site-specific commands
    * SIZE - return the size of a file
    * STOR - store a file on the remote host
    * TYPE - set transfer type
    * USER - send username
...con questi puoi interrogare il server...inviare e ricevere file ed informazioni su questi...

...domani se riesco ti posto qualcosa di piu' concreto...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2005, 22:34   #5
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Ciao! grazie, vedo che ti sei impegnato a rispondermi....
volevo dirti innanzitutto che non è necessario che mi spieghi la parte di networking.. E' già tutto realizzato e pienamente funzionante. Ho implementato sia un client che un server ftp.
L'unico fatto è che quando arriva una richiesta di tipo LIST al server, quest'ultimo dovrebbe spedire un listato dei files al client. OK, fin quì ci siamo.
Il mio problema è: dato che il metodo list() della classe File nel package java.io restituisce la semplice lista dei files contenuti nella directory specificata, a me serve un listato un po' più sofisticato. Conosco le RFC 959, e i vari comandi del protocollo. Sto realizzando il lato server ed ho bisogno di mandare al client che mi fa un LIST una lista di files che è l'equivalente di un ls -al unix, che faccia vedere TUTTI gli attributi di un file o di una directory.
Suppongo, anzi sono certo che questo problema prescinda dal protocollo FTP. Quindi mi basterebbe un semplice metodo main che lanciato da una directory (la sua classe chiaramente) mi restituisca un ls -al anche se lo lancio da windows.
Chiedo questo poichè provando dei comuni server ftp scaricabili in prova da internet, come x esempio UServ-FTP server, alla ricezione del comando LIST (dir se parliamo in termini di client ftp di windows) spedice un ls -al della dir attuale. Posso immaginare che tale software sia scritto in c o in c++ o in chissà quale altro linguaggio, ma perchè in java non posso simulare un ls -al unix???? Spero esista un sistema.

Spero di essere stato un po' più chiaro ora...
Grazie infinite...

PS: se devo crearmelo da solo... mi armo di pazienza....
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 08:27   #6
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...ok quindi stai cercando un modo...anche da locale...di eseguire comandi da shell e ricavarne l'output?...se è così interesserebbe anche a me...

...la soluzione dovrebbe essere circa così...

Codice:
    

{
    Runtime r = Runtime.getRuntime();
    String cmd = "comando";
    Process prc = r.exec(cmd);
    BufferedReader is = new BufferedReader(new InputStreamReader(prc.getInputStream()));
    String line;
    while ((line = is.readLine()) != null)
      System.out.println(line);
  }
...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 08:55   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ally
...ok quindi stai cercando un modo...anche da locale...di eseguire comandi da shell e ricavarne l'output?...se è così interesserebbe anche a me...
Credo che stia cercando un modo per recuperare gli attributi di ogni file presente in una directory...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 09:19   #8
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
MI serve un ls -al UNIX. Anche da Winsozz..
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 09:32   #9
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da fbcyborg
MI serve un ls -al UNIX. Anche da Winsozz..

...l'ultimo stralcio di codice da me postato puo' eseguire tale funzione...ma da locale...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 11:11   #10
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
OK! grazie... ma devo cambiare qualcosa?
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 11:25   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
In questo modo lui si deve prendere l'output del comando (un attrib avrà un output diverso da ls -la) e rileaborarselo... Ricordatevi che in Windows gli attributi non sono come quelli di Linux, ma devono essere rielaborati... IMHO è sempre una brutta abitudine prendere l'output di un comando...in qualsiasi linguaggio o sistema operativo... Poi soprattutto in Java che dovrebbe essere portabile...

Non basta usare un funzione che ottiene gli attributi di un file e dopo applicarla a tutti i file ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 19:49   #12
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
ally: ho provato a fare come dici.. non ci riesco però:
ecco la classe:

Codice:
import java.io.*;

public class List {
	public static void main(String[] args) throws IOException{
		Runtime r = Runtime.getRuntime();
	    String cmd = "comando";
	    Process prc = r.exec(cmd);
	    BufferedReader is = new BufferedReader(new InputStreamReader(prc.getInputStream()));
	    String line;
	    while ((line = is.readLine()) != null)
        System.out.println(line);
	}
}
ed ecco la runtime exception:
Exception in thread "main" java.io.IOException: CreateProcess: comando error=2
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:66)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at java.lang.Runtime.exec(Runtime.java:326)
at List.main(List.java:7)
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:38   #13
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...mh...mi dispiace...domani ricontrollo...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:42   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Grazie per avermi ignorato
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 06:54   #15
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da cionci
Grazie per avermi ignorato

...beh è in parte cio' che avevo consigliato all'inizio...usando comandi specifici ftp per ricostruire le proprietà del file...il problema è capire se questa cosa deve essere fatta da remoto o da locale...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 07:55   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ally
...beh è in parte cio' che avevo consigliato all'inizio...usando comandi specifici ftp per ricostruire le proprietà del file...il problema è capire se questa cosa deve essere fatta da remoto o da locale...
Da locale... Lui sta scrivendo il server e non deve usare i comandi FTP...basta applicare questa classe: http://java.sun.com/j2se/1.5.0/docs/...ermission.html

Questi sono i permessi su quel file per la sua applicazione...e di fatto gli altri basta simularli... Anche perchè non credo che lui voglia creare "Gruppi" sul suo FTP server... Se li vuoi usare allora devi passare a creare un virtual file system per cui nella configurazione del FTP server verrano specificati i tipi di accesso a tutti, gruppo e utente per quelal directory...un po' come fa WarFTP Server...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 07:58   #17
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
cionci: grazie per questo link che mi hai mandato... vedo subito di che si tratta!!!
Quindi in pratica per questa classe io posso ottenere quei famosi attributi
-xwr-ww-w ecc... x i files
dwr ecc... per le dir?
__________________
^ThE CyBoRg^

Ultima modifica di fbcyborg : 21-07-2005 alle 08:00.
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 08:03   #18
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...ottimo...non conoscevo questa classe...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 08:11   #19
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da ally
...mh...mi dispiace...domani ricontrollo...

...ciao...

...il problema dovrebbe essere legato al comando da lanciare...

...String cmd = "cmd /c dir";

...così lancia il comando dir dal path del programma...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 08:13   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ottieni solo gli attributi per il tuo programma...gli altri devi simularli... Ad esempio mettendoli sempre a 1...
Per la dir...io non mi intendo per niente di Java comunque se credo che non impossibile da trovare...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione Xiaomi 15T Pro, è lui il nuovo best buy? ...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Lunedì sera tiratela lunga: a mez...
Il prossimo pieghevole di Huawei potrebb...
Euro digitale nel 2027 con app e infrast...
Galaxy S26 Ultra: tra le novità c...
OneDrive avrà presto una nuova app per W...
Il nuovo OnePlus 15 è pronto: il ...
Non serve essere Prime: 7 offerte bomba ...
Ci sono un sacco di prodotti con lo scon...
Xbox Game Pass, gli aumenti di prezzo pe...
I nuovi top di gamma di HONOR sono pront...
Il Garante della Privacy ha bloccato Clo...
C'è un nuovo operatore virtuale s...
Google Chrome non si ferma più: &...
Tenstorrent produrrà chip nelle f...
Tutte le offerte HOT di Amazon: Galaxy S...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v