Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Ottenere elenco file e proprietà contenuti in una cartella

    Scusate il disturbo, avrei bisogno di ottenere l'elenco delle proprietà dei file contenuti in una determinata cartella come, ad esempio, dimensione e formato (nel caso di file immagine) per poterli inserire in una tabella presente in un file excel.
    Utilizzando il comando dir nel prompt non mi vengono stampate le proprietà, ma solo gli attributi. Esiste un sistema per ottenere queste informazioni?
    Grazie in anticipo.

  2. #2
    Con che linguaggio/sistema operativo?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Su windows 7. Come linguaggio se esistesse una soluzione in java, sarebbe preferibile. Altrimenti andrebbe bene qualsiasi altra soluzione funzionante.

  4. #4

    Moderazione

    Intanto sposto in Java.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: Ottenere elenco file e proprietà contenuti in una cartella

    Originariamente inviato da Devil Nix
    Esiste un sistema per ottenere queste informazioni?
    Grazie in anticipo.
    In puro Java ni.

    Guardati la classe File ed i relativi metodi list() e listFiles() (per ottenere l'elenco dei file contenuti in una directory).

    Per quanto riguarda la dimensione, se intendi la dimensione del file (in termini di bytes occupati su disco), sì: esiste il metodo length() sempre della classe File. Se, al contrario, intendi le dimensioni in pixel di un'immagine, allora dovrai per forza di cose leggere il file e estrapolare queste info da lui (non sono "metadati", sono parte integrante del contenuto del file).

    Se per "formato" intendi il formato immagine (tipo JPEG, GIF, PNG, ecc), puoi basarti sull'estensione del file (prendi, quindi, tutti i caratteri dopo l'ultimo punto). Ovviamente non è un metodo sicuro: nessuno mi vieta di avere un file immagine JPEG e salvarlo con estensione PNG o PIPPO.

    Le altre informazioni dipendono strettamente dal tipo di file (ad esempio, non ha alcun senso parlare di "dimensione in pixel" per un file audio...) e, per ottenerle, è necessario ovviamente aprire il file, leggerlo ed interpretarne il contenuto.

    Forse esiste qualche libreria di terze parti che lo fa, ma per questo dovrai affidarti a Google.


    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
    Grazie per la risposta.
    Ho già provato ad affidarmi a google ma non ho trovato quanto cercavo.
    Ora spiego meglio cosa mi interessa nella speranza di trovare una soluzione: ho una cartella contenente film e ho bisogno (con java, o altri sistemi) di ottenere (possibilmente stampandola su un file di testo) una lista dei titoli dei film più, in ciascuna riga, le proprietà (come durata, altezza fotogramma) che si ottengono cliccando col tasto destro sul singolo file. E' possibile farlo, magari con una libreria java o altri sistemi? Ho cercato di tutto ma non ho trovato nulla che facesse al caso mio.
    Per il momento mi preme riuscire a fare una lista di film con proprietà, però se possibile vorrei generalizzare la cosa a più tipi di file.
    Grazie in anticipo.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Come già detto, quelle informazioni non sono "metadati" (quindi, non sono informazioni immediatamente estraibili dal file). Vanno lette direttamente all'interno dei dati del file (Windows, per farti vedere quelle informazioni, va a leggersi, probabilmente, l'header di ciascun file e da esso estrae ciò che può... e sarà ciò che dovrai fare anche tu).

    Un buon punto di partenza potrebbe essere il Java Media Framework (JMF):
    http://www.oracle.com/technetwork/ja...sp-140239.html
    Qui le API: http://docs.oracle.com/cd/E17802_01/...ocs/index.html

    Questo framework consente il trattamento di molti tipi di file multimediali (audio e video e immagini, anche se queste ultime, comunque, sono trattabili anche tramite il core standard di Java o, al più, tramite Java Advanced Imaging [JAI]). Quasi certamente c'è la possibilità di ricavare le informazioni che ti servono tramite quel framework (che io, comunque, non ho mai usato). Ad esempio, spulciando le API, ho trovato l'interfaccia Track, che consente di ottenere le informazioni che cerchi:

    - getDuration(): ritorna la durata del file multimediale (se applicabile, come audio/video)
    - getFormat(): ritorna il formato del file multimediale (AudioFormat per file audio, VideoFormat per file video, ecc)

    Poi, dal formato si ricavano altre informazioni.

    Dovrai spulciarti questo framework, ma credo che sia ciò che cerchi. Un tip: se devi cercare documentazione e/o esempi, includi nel criterio di ricerca di Google il termine "JMF".


    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

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.