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.
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.
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.
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.Originariamente inviato da sysoftware
Ce un modo in java per capire se un file è binario oppure in testo semplice?
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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.
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.
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
Hai provato a variare la dimensione dei blocchi?
visto che gli algoritmi di cifratura lavorano tutti su array di byte è alquanto deleteria questa distinzione!!!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
Hai provato InputStreamReader?
RTFM Read That F*** Manual!!!
no me dici di fare?
Pensi sia piu veloce la lettura dei byte?
comunque non è BufferedStreamReader ma BufferedReader
sisi ho sbagliato ioOriginariamente inviato da sysoftware
no me dici di fare?
Pensi sia piu veloce la lettura dei byte?
comunque non è BufferedStreamReader ma BufferedReader
è 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!!!