Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1

    [JAVA] capire se un file è binario o di testo

    Salve.
    Ce un modo in java per capire se un file è binario oppure in testo semplice?

    Cosi sapendo se è binario lo apro con un FileInputStream oppure se è di testo semplice con un BufferedReader

    Grazie in anticipo.

  2. #2
    Ciao,

    facendo una ricerca su Google ho trovato questo come primo risultato.

    Ho trovato anche questo, grazie a questa ricerca.

    Magari può chiarirti le idee.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] capire se un file è binario o di testo

    Originariamente inviato da sysoftware
    Ce un modo in java per capire se un file è binario oppure in testo semplice?
    fbcyborg ti ha già fornito link utili e validi. Io aggiungo che in generale per queste cose non c'è nulla di "standard", nel senso che non c'è un unico e solo modo o algoritmo per determinare il tipo di file. Ci vuole un po' di "euristica" in questi casi. Distinguere tra file binario e testo si può in molti casi fare. Se però vuoi anche determinare il charset usato da un file di testo (e questo è importante se vuoi aprirlo in lettura!) diventa ancora più complesso, perché molti charset tipicamente quelli single-byte sono ben difficili da distinguere a meno di fare analisi e statistiche complesse proprio anche a livello del "linguaggio" usato nel testo.

    Infine ancora una considerazione: perché hai bisogno di questa verifica? Cosa devi fare di preciso? Perché o devi fare qualcosa di davvero molto particolare e speciale .... altrimenti qualcosa non quadra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    sto realizzando un programma di criptaggio di file con password e algoritmo DES.
    Se riesco a trovare il modo di capire se è binario o testo il criptaggio risulta piu veloce
    in quanto se li apro tutti come binario la criptazione ci mette molto tempo invece se di testo semplice la criptazione è veloce.
    Il programma funziona gia, ma se riesco ad implementare questa funzione per distinguere i file posso criptare piu velocemente i file di testo semplice.

  5. #5
    Scusa ma non puoi trattare tutti i file come byte e basta? Ho capito che è più lento, ma mi sembra strano.
    Quando leggi il file, con getBytes() o metodo simile (ora non ricordo), tu applichi l'algoritmo di cifratura a blocchi sui byte, non sulle stringhe.

    Ho fatto una cosa del genere in C una volta, e non mi sono mai preoccupato minimamente se fosse un file binario o in formato testo.

  6. #6
    sa ma ho creato un file di testo da 1,1 MB.
    Aprendolo come file di testo e criptarlo cia messo 2 o 3 secondi.
    Stessa cosa ma aprendolo come binario ci ha messo un minuto abbondante.
    Capisci ce molta differenza ma credi che li faro a aprire tutti come binari

  7. #7
    Hai provato a variare la dimensione dei blocchi?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da sysoftware
    sa ma ho creato un file di testo da 1,1 MB.
    Aprendolo come file di testo e criptarlo cia messo 2 o 3 secondi.
    Stessa cosa ma aprendolo come binario ci ha messo un minuto abbondante.
    Capisci ce molta differenza ma credi che li faro a aprire tutti come binari
    visto che gli algoritmi di cifratura lavorano tutti su array di byte è alquanto deleteria questa distinzione!!!
    Hai provato InputStreamReader?
    RTFM Read That F*** Manual!!!

  9. #9
    no me dici di fare?
    Pensi sia piu veloce la lettura dei byte?

    comunque non è BufferedStreamReader ma BufferedReader

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da sysoftware
    no me dici di fare?
    Pensi sia piu veloce la lettura dei byte?

    comunque non è BufferedStreamReader ma BufferedReader
    sisi ho sbagliato io
    è InputStreamReader che apri passando un InputStream.
    Li poi hai il metodo read che fa al caso tuo.

    Guarda la javadoc
    RTFM Read That F*** Manual!!!

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.