Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457

    Elaborare solo file nuovi java

    Salve ragazzi,

    avrei bisogno del vostro parere circa la ricerca di una soluzione efficiente per il seguente problema:

    - Data una cartella, ogni lasso di tempo vi vengono aggiunti dei file.
    - Mi trovo di fronte alla necessità di creare un metodo che vada a leggere da quest'ultima solo i file nuovi scartando quelli già letti.
    Vorrei cercare di evitare anche la sola operazione di lettura, ma non so come realizzarlo.

  2. #2
    Potresti farti tornare l'elenco dei file e leggerne le proprietà. se la data di ultima modifica è più recente rispetto alla data in cui il programma aveva effettuato l'ultima lettura dei file fai quello che devi fare.

  3. #3
    per leggere le proprietà di un file devi creare un oggetto Properties richiamare il metodo load(InputStream inStream) poi richiamando il metodo getProperty(String key) sull oggetto properties ottiene le proprietà che vuoi. Java Properties doc

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Se usi Java 7, puoi usare le nuove API di monitoraggio del file system.
    Leggi http://java.dzone.com/news/how-watch...system-changes
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    In realtà gli oggetti File (che ti puoi far restituire tramite il metodo listFiles() che restituisce un array contenente tutti i File contenuti nella directory) hanno il metodo lastModified() che restituisce un long che rappresenta la data di ultima modifica.

    Sinceramente non so quanto questo valore possa essere accurato/utile. Nel senso che, se il file viene creato/modificato da qualche altra parte e poi spostato/copiato dentro alla directory che stai monitorando, in teoria tale valore rappresenterebbe la data di ultima modifica, non certo la data di spostamento/copia.

    Sorge una domanda: devi per forza tenere in quella directory tutti i files (anche quelli già elaborati) o puoi, eventualmente, spostarli da qualche altra parte (ad esempio, in una sua sottodirectory) dopo l'elaborazione? Perchè questa cosa ti semplificherebbe enormemente la vita.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    Grazie per l'aiuto,
    sto cercando di valutare le varie soluzioni in modo da trovare quella più opportuna al mio caso.
    Dovendo spostare i file da una directory all'altra, siccome il mio batch va a leggere la directory da un server remoto, come si fa a dare i permessi di scrittura, esecuzione ... in modo da effetturare lo spostamento di questi?
    Ho solo i permessi per leggere i file da una certa directory, ma non posso creare directory e spostare file.
    Quale sarebbe il package adatto che potrebbe venirmi in aiuto a tal proposito?

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Non avevi specificato che si trattava di un server remoto e che non avevi i permessi di scrittura... a questo punto, se usi Java 7 puoi usufruire del link postato da Alex'87.

    In alternativa bisogna capire in che modo accedi al server remoto (tramite cartelle condivise su Windows? Tramite SAMBA o NFS su Linux?).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    Ci accedo tramite link: //ip/pathFile

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    le api di java 7 che mi sono state segnalate sono molto interessanti, ma per il progetto per il quale lavoro, abbiamo la 6.
    C'è qualcosa di simile?

  10. #10
    Ho controllato se un file viene spostato all'interno dello stesso disco non viene rilevata alcuna modifica se invece viene spostato da un disco all'altro o viene copiato cambia la data di ultimo accesso.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.