Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    27

    [JAVA] passare più di un input da dos

    vi dico sostanzialmente il mio problema....

    devo per forza lanciare il mio progetto da Dos..e fin qui nessun problema

    compilo la classe tramine javac
    compio quindi l'operazione javac main.java(nome della classe che devo usare)

    in seguito faccio java main
    poi digito il nome del file ce devo passare amain come ingresso ovvero esempio.txt
    e tranquillamente ho la mia bella uscita

    fino a qui nesusn problema....peccato che non devo far questo..

    o meglio devo passare tutti i file di tipo .txt che sono contenuti nella directory dove ho la classe main...
    ora come faccio...

    ho provato ail comando *.txt un facile insuccesso...

    il fatto non so se il problema è perchè non conosco i comandi dos(possibile)

    ...oppure devo inventare o meglio c'è quacosa da inseirire nella classe java che mi sfuge

    help me...anche perkè è l'ultimo problem asignificativo che mi rimane

  2. #2
    Il tuo "*.txt" sarebbe il primo argomento (cioè args[0]) passato al metodo main della tua classe (a proposito... chiamare main una classe non è che sia l'ideale...). All'interno della tua classe fai un controllo su args[0] e verifica se è uguale a *.txt. In tal caso ti recuperi tutti i files della cartella e fai ciò che devi fare. Altrimenti recuperi solo il file passato come argomento
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    27
    tranquillo il nome main è fittizio era per far capire cosa fa quella classe...

    cmq ora verifico ciò che mi hai detto...

    comunque se args punta ai file txt...da dos che comando uso per lanciare tutti i file contenuti nella directory??

  4. #4
    Se ho capito bene tu non devi lanciare da dos i file che elenchi come argomenti. E' la classe Java che deve provvedere a ciò.

    Cosa devi farci con questi files?
    Al mio segnale... scatenate l'inferno!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    No, dovresti implementare tale logica nella tua applicazione. Potresti voler mantenere l'suo di wildcards, però dopo devi dire alla jvm come trattarle. Per esempio

    codice:
    *.txt
    corrisponde alla regex
    codice:
    .*\\.txt
    Oppure più semplicemente, puoi anche creare una logica che in ingresso prenda una directory e la scorra alla ricerca dei file di testo e su questi applichi i metodi necessari.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    27
    è il punto cruciale...sinceramente non credo di aver capito bene cosa pretenda il prof dalla mia tesi...

    io ho effettuato il progetto e ottengo quello che dovrei ottenere..per fortuna...

    il fatto che io uso il mio ambiente per lanciare il main...e gli passo manualmente una alla volta i vari file .txt..quindi ogni volta lancio il programma per analizzare un nuovo file..


    a sentire i vostri pareri è possibile che io debba inserire nel progetto qualcosa che cerchi nella directory che ho tutti i file .txt e su ognuno applicare il main...

    mi pare di aver capito ciò :master:


    ma il professore quando mi fece l'esempio su come voleva lanciare il comando da dos su un fogliaccio mi scrisse...

    java classemain *.txt .......ma applicando questo che lui dice ciò non avviene....
    mentre se apllico

    java classemain esempio.txt....ho tranquillamente il risultato...

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    hai letto la mia risposta e quella di RAVE? Mi pare evidente che java se ne sbatta altamente delle wildcards di DOS (e della shell di linux) e che tale funzionalità la debba codificare tu nella tua applicazione. Hai diverse strade, quella semplice è di fare il list dei file nella directory e verificare se il nome dei file corrisponde a *.txt (finisce con txt, applicando la regex che ti ho dato... come meglio credi) e applicare i tuoi metodi a tutti i file utili.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Mavck
    ma il professore quando mi fece l'esempio su come voleva lanciare il comando da dos su un fogliaccio mi scrisse...

    java classemain *.txt .......ma applicando questo che lui dice ciò non avviene....
    mentre se apllico
    Funzionerebbe perfettamente su sistemi Unix/Linux, perché in questi S.O. è la shell che si occupa di fare la "espansione" dei wildcard (* ? [) e quindi ad un programma non verrebbe passata la stringa "*.txt" ma la lista dei file.

    In Dos/Windows purtroppo no, la shell non è così evoluta.

    Comunque è possibile fare questa "espansione" in Java ... con un pochino di "sbattimento" usando magari le espressioni regolari. Ti è già stato detto che ad esempio:
    *.txt
    dovrebbe essere convertito in:
    .*\.txt

    E che ad esempio:
    ?.cpp
    dovrebbe essere convertito in:
    .\.cpp
    (se vuoi gestire anche questo wildcard, ovviamente)

    Una volta che hai una regex, devi usare la classe File e il suo metodo:

    String[] list(FilenameFilter filter)

    FilenameFilter è una interfaccia, devi creare una tua classe che implementa tale interfaccia. Il suo metodo accept() dovrà dire, in base alla regex, se accettare il file o meno.

    Alla fine hai un String[] con la lista dei nomi di file filtrati.

    Ti assicuro che non è nulla di trascendentale!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    27
    ihihih..sorry....

    sono assai tarato..comunque...

    ad esempio il javadoc ha quindi un metodo che ricerca nellla directory tutti i file .java e crea cosi le pagine html???

    cioè facendo javadoc *.java .....ho come risultato n pagine html pari al numero di file .java conetuti nelal directory??

    se mi rispondi a queste 2 mi fai un gran piacere...

    comunque ora vedo di creare qualcosa che prenda in ingresso la directory e analizzi tutti i file.txt

    una curiosità..ma il nome della directory deve contenere tutto il percorso??

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    27
    Originariamente inviato da andbin


    In Dos/Windows purtroppo no, la shell non è così evoluta.

    Comunque è possibile fare questa "espansione" in Java ... con un pochino di "sbattimento" usando magari le espressioni regolari. Ti è già stato detto che ad esempio:
    *.txt
    dovrebbe essere convertito in:
    .*\.txt

    E che ad esempio:
    ?.cpp
    dovrebbe essere convertito in:
    .\.cpp
    (se vuoi gestire anche questo wildcard, ovviamente)

    Una volta che hai una regex, devi usare la classe File e il suo metodo:

    String[] list(FilenameFilter filter)

    FilenameFilter è una interfaccia, devi creare una tua classe che implementa tale interfaccia. Il suo metodo accept() dovrà dire, in base alla regex, se accettare il file o meno.

    Alla fine hai un String[] con la lista dei nomi di file filtrati.

    Ti assicuro che non è nulla di trascendentale!!
    quindi devo implementare questa interfaccia FilenameFilter...ora vedo le api...

    ps mi spiegate cosa voglia dire regex

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.