Strings ordentlich formatieren

sisela

Erfahrenes Mitglied
Hi,

habe eine JTextArea und möchte dort einen String ausgeben. Das ist aber nicht das Problem, sondern den String so zu formatieren, wie ich es gerne hätte.
Ich möchte aus dem
Code:
String s = "ein beliebiger WannIstEndlichWochende;-)String";

Soetwas anzeigen: (Das stimmt jetzt nicht nur Bsp!)
0000: 01 12 32 12 14 58 A4 5D | 9A D0 A0 BA BC 3D 12 14
0010: 01 12 32 12 14 58 A4 5D | 9A D0 A0 BA BC 3D 12 14

Sprich den den vorhandenen String muss ich zunächst erst einmal in Hex-Ziffern umwandeln, dann kommt alle 2 Zeichen ein Leerzeichen dazwischen, alle 16 Zeichen ein Leerzeichen, ein | und noch ein Leerzeichen und alle 32 Zeichen ein Zeilenumbruch. Dann kann ich ihn wieder meiner TextArea zuweisen und alles ist *freu*.

Unter C gibt es etliche Formatierungsfunktionen, wo sind die unter Java. Muss es doch geben oder? Wie kann man sich sonst noch helfen?

Andere Frage, welche Größe fasst den so eine JTextArea?

Dank schonmal...
Ansonsten schönes WE
 
Zum einen gibt es das Paket java.util.regex und zum anderen die Klasse StringBuffer .. Daraus kann man sicherlich was sinnvolles basteln .. :)
 
Also nach etwas Spielerei, kam nun folgendes heraus:
Code:
private String toHexString ( byte[] byteArray )
{
  StringBuffer strBuf = new StringBuffer(byteArray.length * 2  
                                                         + ((byteArray.length/16+1)*15) 
                                                         + ((byteArray.length/16+1)*2));
 	
  for ( int nCount = 0; nCount < byteArray.length; nCount++ )
  {
    strBuf.append( hexChar [( byteArray[nCount] & 0xf0 ) >>> 4] );
    strBuf.append( hexChar [byteArray[nCount] & 0x0f] );
    if ((nCount % 16) != 15)
    {
      strBuf.append(" ");
      if ((nCount % 16) == 7) strBuf.append("| ");
    }
    else strBuf.append("\n");
  }
  return strBuf.toString();
}

@teppi: kannst mir aber trotzdem ein Bsp. für regex geben, wenns möglich ist.
 
Zurück