Ist eine Datei binary oder text encoded

Status
Nicht offen für weitere Antworten.

Larouso

Mitglied
Gibts ne Möglichkeit (ich mein also ne api-Methode) die mir bestimmen kann ob ein File binary oder text encoded ist?

Danke schon mal im Voraus

Gruß
 

byte

Top Contributor
Du könntest mit der Java MIME Magic Library den MIME Typ der Datei auslesen:

Code:
Magic parser = new Magic() ;
MagicMatch match = parser.getMagicMatch(new File("foo.bar"));
System.out.println(match.getMimeType());
 

Larouso

Mitglied
ah ok - dafür danke erstmal... werd das gleich mal testen.


gibts da auch noch ne andere Möglichkeit? vielleicht ohne externe Librarys? Das mit den MIMEs ist zwar echt ne gute Idee, aber fast schon bisschen oversized für meine Zwecke... ich will nach Möglichkeit net mit Kanonen auf spatzen schießen :)
 

Leroy42

Top Contributor
Ja und Nein!

Es ist ja nicht so, daß der Inhaltstyp einer Datei vom BS als Attribut der Datei verwaltet wird,
zumindest in *x und Win* Systemen nicht; keine Ahnung wie das bei Macs geregelt wird.

Du kannst es nur erraten, wofür es in Unix seit Urzeiten ein Programm gibt, indem
du den Anfang der Datei liest und anhand der Bytes abschätzt, ob es sich wahrscheinlich
um eine Textdatei handelt.

Andererseits kann, jeder wer lustig ist, sich eine Datenstruktur einfallen lassen, in der 100 KByte
Text ist und danach 42 Byte Binärdaten kommen. Sicher kannst du also nie sein.
 

Murray

Top Contributor
M.E. ist es i.A. unmöglich, einer Datei anzusehen, ob sie als Binär- oder als Textdatei anzusehen ist: man kann zwar machen Binärdateien ansehen, dass sie keine Textdateien sein können (weil sie z.B. binäre Nullen enthalten), aber nicht umgekehrt. Aus diesem Grund (und nicht etwa, weil die Leute früher keine Ahnung hatten), muss man seit Ewigkeiten beim FTP angeben, ob die zu übertragende Datei eine Binär- oder eine Text-Datei ist.
 

meez

Top Contributor
Hier....das ist das was Leroy gesagt hat...
Ist jedoch nicht 100% sicher, funzt aber meistens...



EDIT: Das was ich da geschrieben hab ist Schwachsinn...da fehlt die Hälfte...werd den Rest mal suchen ???:L

Code:
public boolean isAscii(File file) {
		byte[] b = new byte[10000];
		new FileInputStream(file).read(b);
		for (int n = 0; n < b.length; n++) {
			if (b[n] > 65000) return false;
		}
		return true;
	}
 

Leroy42

Top Contributor
Murray hat gesagt.:
und nicht etwa, weil die Leute früher keine Ahnung hatten

Was sind Text-Dateien? Würdest du Unicode- oder UTF8-Dateien nicht eigentlich
auch als Text-Dateien ansehen?

Ich hätte es gut gefunden, wenn es frühzeitig eine Koordinierungsinstanz gegeben
hätte, die eindeutigen Codes für verschiedenste Dateiformate vergeben hätte. Zwei
Byte am Anfang jeder Datei hätten ausgereicht, alle nur denkbaren Formate(*)
(ASCII-Text, UTF8, ISO-8859-*, WinDoof-exe, jpg, cdr, ...) unterscheiden zu können.

Das hätte das Leben vieler Programmierer vereinfacht. :(

(*) 0xFFFF hätte beispielsweise reseviert werden können, um anzuzeigen, daß weitere
Bytes zur Identifizierung nötig sind.
 

Murray

Top Contributor
Leroy42 hat gesagt.:
Was sind Text-Dateien? Würdest du Unicode- oder UTF8-Dateien nicht eigentlich
auch als Text-Dateien ansehen?
Klar. Und konsequenterweise dann auch Word-Dokumente, zumindest solange sie keine Bilder enthalten :wink:
 

Larouso

Mitglied
danke für die vielen Antworten erstmal... ich habs jetzt mit ner positiv-Liste von Dateiendungen fürs erste mal gelöst... ist natürlich nicht die eleganteste und auch nicht meine gewünschte Lösung...
Wenn es schon nicht wirklich möglich ist zu erkenen ob ein file text oder binary code enthält, geh ich jetzt mal stark davon aus, dass es erst recht nicht möglich ist die tatsächlich verwendete Codierung zu erkennen, oder :)?

Zum Thema mit den ersten bytes zur Indetifizierung... ist das bei UTF 8 nicht so dass "FFFE" am Anfang angehängt wird? Aber nicht durchgehend ist mir schon aufgefallen... weiß da jmd mehr drüber?

Gruß
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
O zweidimensionales array in eine csv-Datei Java Basics - Anfänger-Themen 1
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
L Iterieren über eine CSV Datei Java Basics - Anfänger-Themen 7
X Wo steht, ob eine Datei big, little oder bi-endian codiert ist? Java Basics - Anfänger-Themen 3
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
F Input/Output die eine txt-Datei funktioniert die andere nicht Java Basics - Anfänger-Themen 8
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
Henri Bestimmte Werte eine XML-Datei ausgeben. Java Basics - Anfänger-Themen 8
P Erste Schritte Schreiben in eine Datei Java Basics - Anfänger-Themen 9
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
1 Im Java Projekt eine txt datei einbinden? Java Basics - Anfänger-Themen 8
A CSV datei eine Bestimmte Zeile ansprechen Java Basics - Anfänger-Themen 1
S Eine Spalte einer CSV Datei ausgeben Java Basics - Anfänger-Themen 2
S Input/Output Alphabet in eine Datei schreiben und Anzahl von Zeichen ausgeben. Java Basics - Anfänger-Themen 4
I Werte im Speicher auswerten ohne Umweg über eine Datei Java Basics - Anfänger-Themen 16
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
R Charset eine Datei Java Basics - Anfänger-Themen 3
J Methode um eine HTML-Datei zu öffnen Java Basics - Anfänger-Themen 10
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
D (Eine) Datei zippen Java Basics - Anfänger-Themen 2
I fertige xml-datein in eine noch aufzubauende xml-datei einfügen Java Basics - Anfänger-Themen 4
B String der eigentlich eine Ansammlung von HEX zeichen ist in datei schreiben in Hex Java Basics - Anfänger-Themen 8
S ArrayList in eine Txt-Datei speichern Java Basics - Anfänger-Themen 3
S Erste Schritte Kleine Problem mit Ausgabe in eine Datei Java Basics - Anfänger-Themen 11
B Input/Output In Datei an eine bestimmte Stelle schreiben Java Basics - Anfänger-Themen 37
A Werte per Zufall aus einer Datei ziehen und in eine neue Datei schreiben Java Basics - Anfänger-Themen 9
H eine Datei schnellstmöglich einlesen Java Basics - Anfänger-Themen 12
S Alle 60min prüfen ob eine Datei da ist Java Basics - Anfänger-Themen 6
Z In JList per Doppelklick eine Datei öffnen (z.B. ein PDF) Java Basics - Anfänger-Themen 16
P Java Object das eine HTML Datei repräsentiert Java Basics - Anfänger-Themen 19
S Datenströne - Text in eine Datei einlesen, umwandeln und in eine neue Datei schreiben Java Basics - Anfänger-Themen 6
L Zeichen für Zeichen eine Datei ändern Java Basics - Anfänger-Themen 2
R Gibt es eine (Schnittstelle) für .ini Datei Formatierungen? Java Basics - Anfänger-Themen 8
A Wie mit Java eine .vbs Datei starten lassen? Java Basics - Anfänger-Themen 4
N XML-Datei in eine ArrayList Java Basics - Anfänger-Themen 6
J Wie auf eine Datei innerhalb des JAR-Files zugreifen Java Basics - Anfänger-Themen 2
T Was ist eine *.jar Datei Java Basics - Anfänger-Themen 9
VfL_Freak [JNI ]aus einer nativen DLL eine JAR-Datei erzeugen ?? Java Basics - Anfänger-Themen 4
3 Eine HTML Datei in eine Java Datei umschreiben Java Basics - Anfänger-Themen 23
isowiz Mehrere Threads schreiben in eine Datei Java Basics - Anfänger-Themen 5
C Abschnittsweise in eine Datei schreiben Java Basics - Anfänger-Themen 2
G Rausfinden, ob eine Datei gesperrt ist Java Basics - Anfänger-Themen 9
Dit_ Eine Datei in jar einbinden Java Basics - Anfänger-Themen 8
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
S In eine datei schreiben Java Basics - Anfänger-Themen 3
G Serialisieren mehrerer Objekte in EINE (XML)-Datei Java Basics - Anfänger-Themen 12
X ZipFile: wie kann ich darin eine Datei löschen und hinzufügen? Java Basics - Anfänger-Themen 5
Sebi Was ist eine Batch datei Java Basics - Anfänger-Themen 2
T Java Webstart soll eine Datei speichern Java Basics - Anfänger-Themen 2
K Daten in eine Text datei schreiben !!!! Java Basics - Anfänger-Themen 6
G POI: Aus einer Datei auslesen und in eine andere Datei speichern Java Basics - Anfänger-Themen 18
M Aus Javacode eine Jar.Datei?? Java Basics - Anfänger-Themen 2
K Eine Datei erstellen Java Basics - Anfänger-Themen 2
J Objektvariablen in eine Datei schreiben Java Basics - Anfänger-Themen 2
B Wie kann ich eine dauerhaft ausführbare Datei erstellen? Java Basics - Anfänger-Themen 6
H mehrere Strings zeitlich versetzt in eine Datei schreiben Java Basics - Anfänger-Themen 3
T RandomAccessFile - Wie schreibe ich etwas in eine txt Datei? Java Basics - Anfänger-Themen 5
J System.out.printf in eine Datei umleiten ? Java Basics - Anfänger-Themen 4
2 Mit Java in eine WORD-Datei schreiben Java Basics - Anfänger-Themen 18
V Datenbank in eine Datei packen Java Basics - Anfänger-Themen 3
A Schreiben in eine Datei Java Basics - Anfänger-Themen 5
D An eine ausgewählte Stelle in der Datei schreiben? Java Basics - Anfänger-Themen 7
X txt datei in eine datenstruktur einlesen Java Basics - Anfänger-Themen 3
S Daten aus einer JTable in eine .doc-word- datei exportieren? Java Basics - Anfänger-Themen 7
J Ein Java-Programm in eine *.exe Datei 'packen' Java Basics - Anfänger-Themen 20
A Problem beim Schreiben in eine Datei Java Basics - Anfänger-Themen 3
J Eine swf-datei in einen Frame einfügen? Java Basics - Anfänger-Themen 6
J Aus einem Java Programm eine .java datei Kompilieren Java Basics - Anfänger-Themen 6
L Mehrere Objekte mit NIO in eine Datei schreiben Java Basics - Anfänger-Themen 4
S Wie parst man eine XML Datei mit Sax? Java Basics - Anfänger-Themen 2
W Double Werte von eine txt Datei direkt einlesen Java Basics - Anfänger-Themen 4
M Java Quellcode in eine exe datei umwandeln Java Basics - Anfänger-Themen 4
W Klasse in eine extra Java-Datei Java Basics - Anfänger-Themen 21
Q Integer Arrays in eine Datei Speichern Java Basics - Anfänger-Themen 9
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
G wo speichert man am besten eine Datei? Java Basics - Anfänger-Themen 4
K Text von Eingabefeld in eine txt Datei speichern Java Basics - Anfänger-Themen 2
Bernasconi Programmierstil / Wann eine neue Datei? Java Basics - Anfänger-Themen 5
G problem beim schreiben in eine txt datei Java Basics - Anfänger-Themen 2
roflomfg Text in eine lokale "*.txt-Datei" speichern Java Basics - Anfänger-Themen 9
F mehrer Textdateien Inhalte in eine TXT Datei Java Basics - Anfänger-Themen 16
N JavaHelp System in ein eine jar-Datei einbinden Java Basics - Anfänger-Themen 5
M eine *.gif datei zum jar archiv hinzufügen Java Basics - Anfänger-Themen 3
C String in eine *.ini-Datei Java Basics - Anfänger-Themen 29
I eine Klasse aus der Jar-Datei aus dem Servlet starten Java Basics - Anfänger-Themen 4
N Array leert sich beim schrieben in eine Datei selbstständig Java Basics - Anfänger-Themen 2
E BufferedWriterin eine JAR-Datei? Java Basics - Anfänger-Themen 3
K Wie erstelle ich eine txt-Datei? Java Basics - Anfänger-Themen 10
G Wie erstelle ich eine ausführbare ".jar" Datei? Java Basics - Anfänger-Themen 22
I Wie man eine Zip Datei entpackt Java Basics - Anfänger-Themen 2
G html datei + Klassen in eine jar datei stecken? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben