|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catania
Messaggi: 742
|
[Java]Richiesta: lista file in un array
Salve, non so se è possibile richiedere qualcosa da chi è più esperto in programmazione.ci provo
1)Mi serve un metodo che mi restituisca un array di stringhe contenente il nome dei file contenuti in una directory 2)il comando per poter lanciare un programma esterno. tipo unrar.exe 3)un comando per poter rinominare un file tipo ren x.exe b.exe
__________________
Voglio sapere di che tessuto deve essere un discorso per non fare neanche una piega Alternativa ai pacchi di NLITE MacBook & Canon Ixus 80 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
1)Link
Crei un'istanza della classe File passando al costruttore il path della cartella e poi usi il metodo list() 2) Codice:
Runtime.getRuntime().exec("unrar.exe");
Ciao! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catania
Messaggi: 742
|
Quote:
Mi chiedevo con questo sistema mi restituisce in pratica quasi lo stesso risultato di dir?perchè la cosa importante per me era avere accessibile sottoforma di stringa ogni file, in modo da poterci modificare il nome ecc ecc
__________________
Voglio sapere di che tessuto deve essere un discorso per non fare neanche una piega Alternativa ai pacchi di NLITE MacBook & Canon Ixus 80 |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catania
Messaggi: 742
|
ok il primo punto l'ho fatto alla grande
ora però riscontro un problema nel secondo 1)se si avvia il processo unrar e inizia a scompattare come faccio a dirgli di aspettare che finisca prima di continuare con il codice che viene dopo? edit:trovato ma non riesco a farlo funzionare(process.waitFor()) perchè o mi entra in loop infinito o utlizzando l'exec(String[] cmd) non mi riconosce la stringa dei comandi che passo come parametro, dandomi quindi questo errore: Quote:
quindi il rename deve partire quando il processo di unrar è finito
__________________
Voglio sapere di che tessuto deve essere un discorso per non fare neanche una piega Alternativa ai pacchi di NLITE MacBook & Canon Ixus 80 Ultima modifica di feboss : 01-03-2008 alle 01:55. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
Allora in teoria dovresti fare:
Codice:
Process p=Runtime.getRuntime().exec("unrar.exe");
p.waitFor();
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Salve,
in passato ho avuto anch'io i miei grattacapi per far funzionare correttamente un processo da consolle lanciato col metodo exec() per un'applicativo che sto scrivendo... Il fatto è che ci sono alcune cose da tenere presenti, che nei javadoc non sono scritte in maniera così tanto visibile... (mi riferisco, ad esempio, al fatto di dover gestire lo svuotamento dell'output & error buffer della consolle in cui il processo gira e sputa gli output, altrimenti i buffer si saturano e ciao) Informazioni prezione ed esaustive le trovi --> qui Con queste info dovresti risolvere qualsiasi problema. Ciao Ultima modifica di banryu79 : 01-03-2008 alle 13:17. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catania
Messaggi: 742
|
Perfetto ci sono riuscito.raga vi ringrazio per l'aiuto datomi.
alla prox
__________________
Voglio sapere di che tessuto deve essere un discorso per non fare neanche una piega Alternativa ai pacchi di NLITE MacBook & Canon Ixus 80 |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Catania
Messaggi: 742
|
Con quel metodo si ha l'ouput quando il processo è finito.
Esiste un modo per avere un output continuo? cioè se faccio un unrar e mi comunica la percentuale ogni 1% cè la possibilità di visualizzarlo? banryu79 risalvami
__________________
Voglio sapere di che tessuto deve essere un discorso per non fare neanche una piega Alternativa ai pacchi di NLITE MacBook & Canon Ixus 80 |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Porta pazienza ma oggi sono molto occupato; nei prossimi giorni ci do un occhio perchè interessa anche me (cioè così al volo non ho una soluzione ma se hai usato la classe StreamGlobber alla fine dell'articolo nel link, avrai visto & capito che è possibile catturare gli stream associati al processo, quindi se il processo in questione "sputasse" un output adatto tu potresti andare a leggerlo per, che so, controllare una barra di progressione da visualizzare all'utente, ad esempio)
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:59.




















