• 31.05.2024, 19:50
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Java: Welches Dateiformat (ascii und binary)?

Donnerstag, 24. Juli 2003, 19:32

Hi!

Ich hab da ein dickes Java Problem. Ich versuche mich im file handling und hab einen kleinen, webbasierten Dateibrowser geschrieben (JSP), der es ermöglicht Verzeichnisse zu durchsuchen und Dateien anzuzeigen. So weit geht auch alles, nur leider kann ich auch Programm-Dateien (binaries) anzeigen lassen (mit dem üblichen Kauderwelch als output).

Weiß jemand, wie man das Dateiformat in Java rausbekommt? Will quasi wissen, ob es eine ASCII-codierte Datei ist, oder eine Binär-Datei ist.

Falls es hilft: Ich benutze Objekte der Klasse "File" und "BufferedReader"....

Hoffe einer von Euch kommt jetzt mit 'ner fetten Lösung um die Ecke. ;)


Gruß

biddschedabber

toluol

unregistriert

Re: Java: Welches Dateiformat (ascii und binary)?

Donnerstag, 24. Juli 2003, 23:37

Hi, ich kann dir auch nicht endgültig helfen, aber ich versuchs mal so gut ich kann:

Woher soll den der Computer wissen, wie die Datei codiert ist? Im Prinzip ist ja auf der Festplatte alles in Bit gespeichert und wenn man eben anstatt einzelener Bits acht auf einmal liest, kann man dass komfortabel in ein Zeichn umwandeln. Ich denke also, dass es gar nicht geht, ohne irgendeinene Prüfmethode über die Datei laufen zu lassen, die schaut, ob irgendein bestimmtes Dateiformat vorliegt.
Hier hilft dir sicher dieser Link weiter: http://whatis.techtarget.com/fileFormatA…3,sid9,00.html.

Achtung: Es kann sein, dass ich hier totalen Stuss gequatscht habe und das BS automatisch immer zu jeder Datei speichert, wie sie codiert ist, aber wie gesagt: Das glaube ich eigentlich nicht.

Edit: -------
Darf eine Datei unter Windows/Linux/... eine Dateigröße (in Bit) haben, die nicht durch 8 teilbar ist - wenn ja, dann wäre dass ein Kriterium, das in 8 von 9 Fällen helfen würde.

Re: Java: Welches Dateiformat (ascii und binary)?

Freitag, 25. Juli 2003, 10:46

Zitat von »toluol«

Hi, ich kann dir auch nicht endgültig helfen, aber ich versuchs mal so gut ich kann:

Woher soll den der Computer wissen, wie die Datei codiert ist? Im Prinzip ist ja auf der Festplatte alles in Bit gespeichert und wenn man eben anstatt einzelener Bits acht auf einmal liest, kann man dass komfortabel in ein Zeichn umwandeln. Ich denke also, dass es gar nicht geht, ohne irgendeinene Prüfmethode über die Datei laufen zu lassen, die schaut, ob irgendein bestimmtes Dateiformat vorliegt.
Hier hilft dir sicher dieser Link weiter: http://whatis.techtarget.com/fileFormatA…3,sid9,00.html.

Achtung: Es kann sein, dass ich hier totalen Stuss gequatscht habe und das BS automatisch immer zu jeder Datei speichert, wie sie codiert ist, aber wie gesagt: Das glaube ich eigentlich nicht.


Nein, nein, du hast das schon ziemlich gut erklärt. Für das OS macht es keinen unterschied, ob es sich um ein ASCII-File, ein Binary oder ein .doc-Dokument handelt.

Rausbekommen tut man das nur, indem man sich das Format einer Datei anguckt. Oft aber auch an der Endung. (bsp.: .exe -> höhstwarscheinlich Binary)

Bei ASCII-Files kann man _meist_ davon ausgehen, das sie mit einer ((char)0) enden und dieses Zeichen nicht mitten im Text zu finden ist. Daran kann man eigentlich ganz gut ASCII-Dateien erkennen, aber 100% sicher ist das auch nicht.

Unter Unix (und vergleichbaren) kann man außerdem noch über das execute-Recht etwas rauslesen, aber selbst dann ist nicht klar, ob man ein nun ein Binary oder ein Batch-File hat.

Zitat von »toluol«


Edit: -------
Darf eine Datei unter Windows/Linux/... eine Dateigröße (in Bit) haben, die nicht durch 8 teilbar ist - wenn ja, dann wäre dass ein Kriterium, das in 8 von 9 Fällen helfen würde.


Also in Bit sowieso, da die kleinste Einheit IMMER ein Byte ist. (Bitweise geht zwar auch, belegt aber trotzdem immer mindestens ein byte)
Ich denke du meinst Byteweise. Das wäre mir aber nicht bekannt, das Binarys unter Win/Unix eine durch 8 teilbare Größe hätten. Aber das muß ja nichts heißen... ;D
We'll never stop living this way!

Re: Java: Welches Dateiformat (ascii und binary)?

Freitag, 25. Juli 2003, 11:20

Ja ihr habt wohl recht... ich hab diese Frag auch im Sun Forum gepostet und da meinten einige, mann müsse schaune, ob nicht zu viele "Steuerzeichen" in der Datei enthalten sind.
Bzw. das Verhältnis zwischen Steuerzeichen und normalen
Zeichen untersuchen, um festzustellen, ob es eine binäre Datei
ist oder nicht.

Naja, das ist mir alles zu stressig. Dann kann mein Filebrowser halt auch binäre Dateien "anzeigen". ;)

Danke für Eure Hilfe

Gruß

biddschedabber