Hexa in String

meinst du diesen Vorschlag?

Den habe ich ausprobiert, aber der hängt dann in der Schleife, erst wenn ich das so mache liefert er mir was:


Aber auch dann liest er nicht alles, sondern lässt die erste Zeile immer weg, deswegen nehme ich deine Version fürs auslesen der Datei:

Mir fehlt halt allerdings immernoch wie ich es umwandle.

Ich wäre sehr dankbar, wenn mir jemand sagen könnte wie, denn ich muss es bis morgen fertig haben, habe auch wirklich alles versucht :(
 
Zuletzt bearbeitet:
ok, kleiner Tippfehler, der Dir aber hätte auch auffallen können :p

Es muss natürlich im ersten Fall nicht heißen
Java:
while( (strLine = f.readLine()) != null )
sondern
Java:
while( (strLine = br.readLine()) != null )

Aber was bedeutet: "die erste Zeile wird nicht gelesen :confused:

Was genau steht denn
(a) in der Datei
(b) jeweils in strLine
:confused:

Kontrolliere Das am Besten per vorher per Debugger !

Gruß
Klaus

EDIT
Rufst Du denn eigentlich Deine Funktion "HextoString" immer noch auf :confused:
Die ist nämlich auch sehr seltsam ... scheinbar übergibst Du eine ganze Text-Zeile als long-Wert und versucht diesen Wert dann in einen String zu konvertieren ....
Das solltest Du tunlichst schon zeichenweise konvertieren ;)
 
Zuletzt bearbeitet:
Also der Text der gespeichert wird, wird inklusive Absätze und Leerzeichen gespeichert!

Das heißt wenn ich die Datei öffne (nicht mit dem Windows Editor! sondern mit WordPad) sieht er folgendermaßen aus:

68616c6c6f
6d65696e 6e616d65 697374

Übersetzt wäre das:

hallo
mein name ist

Ich habe nämlich die Hexa "20" durch ein Leerzeichen und "da" durch ein "\n" damit man sehen kann, wie das Wort in Hexa ist.

Aber ist es nicht eignetlich egal? Dein Code funktioniert doch, dieser liest es Perfekt aus! Es muss nur noch "übersetzt2 werden.
 
hmm,

erstens ist WordPad für sowas eine ganz schlechte Idee (weil hier meist eine Formatierung hinter hängt).
Nimm' besser den Win Editor oder ein Programm wie PSPad (http://www.pspad.com/de/) ...

Liegt denn die Datei wirklich ASCII-Text vor ?
Wenn Du sie mit WordPad gespeichert hast, wird dies vermutlich nicht der Fall sein ...

Ich lese hier div. Textdateien auf die zuvor genannte Weise ohne Probleme (und vor allem ohne Konvertierungen !!) aus ....

Ggf. mußt Du halt den jede Zeile zeichenweise konvertieren - sprich: in einer Schleife über die Zeilenlänge laufen und jedes einzelne Byte umwandeln ...
Statt der Wrapperklasse Long solltest Du sinnigerweise auch besser Character nutzen !

Du kannst auch mal testen, ob sich wirklich nur Buchstaben in deinem Text befinden :
Java:
 // Prüft, ob ein String nur aus Buchstaben besteht
  public boolean CheckAufBUs( String sTmp )
  {
	  for( int i = 0; i < sTmp.length( ); i++ )
	  {
		  char c = sTmp.charAt( i );
		  if( !Character.isLetter(c) ) 
		  {
			  return false;
		  }
	  }
	  return true;
  } // CheckAufBUs

Gruß
Klaus
 
Im Windows Editor werden ja die Absätze nicht angezeigt, deswegen öffne ich es im WordPad um zu kontrollieren ob diese auch gesetzt werden.

Der Inhalt besteht auch nicht nur aus Buchstaben, weil ich ja "20" durch " " ersetze und "da" durch "\n".
 
Der Inhalt besteht auch nicht nur aus Buchstaben, weil ich ja "20" durch " " ersetze und "da" durch "\n"

ok, "Buchstaben" war vlt. das falsche Wort ... besser: ASCII-Zeichen

Ich glaube, Du hast da was Falsches im Hinterkopf :p

Folgendes ist identisch :
Leerzeichen : hexadezimal 0x20 == decimal 32 == ASCII-Zeichen ' '
Buchstabe 'A' : hexadezimal 0x41 == decimal 64 == ASCII-Zeichen 'A'
Buchstabe 'x' : hexadezimal 0x78 == decimal 120 == ASCII-Zeichen 'x'
usw.

Ebenso gilt:
New Line : hexadezimal 0x0a == decimal 10 == ASCII-Zeichen '\n ' } beides sind nicht-darstellbare Zeichen !
Carriage Return : hexadezimal 0x0d == decimal 13 == ASCII-Zeichen '\r' }

Das ist alles nur eine Frage der Interpretierung !

Gruß
Klaus

edit
Mir fiel gerade noch ein:
Du kannst natürlich auch Deinen anfänglichen StringBuffer direkt umwandeln :D
Java:
String meinString = sb.toString();

Vlt suchst Du ja dies ....
 
Zuletzt bearbeitet:
Also erstmal möchte ich mich bei dir bedanken, dass du dich mit so einem schweren Fall wie mich rumschlägst :)

Aber ich bin jetzt total durcheinander, denn ich weiß nicht ob meine Methode richtig ist oder falsch bzw. was ich genau ändern muss :(
 
Kein Problem - habe gerade ein bissel Zeit ;-)

Sorry - sah zu spät, dass das mit dem StringBuilder keine gute Idee, da Du ihn nur in Deiner Konvertierung verwendest .....

Trotzdem verstehe ist nicht, warum dies hier nicht funktionieren sollte ...
Bei mir klappt das wunderprächtig ;-)
Java:
BufferedReader br;
String strLine;
 
br = new BufferedReader( new FileReader(meinDateiName) );
 
try 
{
	while( (strLine = br.readLine()) != null ) 	
	{
		strLine = strLine.trim();
		Texteditor.textArea.append( strLine );
        }
} ......

Oder hast vlt. doch 'Murks' in der Datei (weil WordPad .....) ?

Gruß
Klaus
 
Zurück