# Text separiert nach Komma auslesen



## steve77 (31. Mrz 2008)

Hallo,

ich hab da ein problem und komme nicht weiter. Es geht um folgendes, ich hab eine Textxdatei, mit sagen wir mal mehren Strings oder zahlen, sieht z.B. so aus:

1234rfrffrf32434, 23434ffrfrf3434, 343434343dfefd.... u.s.w.

diese möchte ich nun einlesen, verschlüsseln und diese verschlüsselten Strings wieder in eine andere textdatei zurückschreiben. Das verschlüsseln klappt bereits, auch das einlesen einer zeile. Ich habe dieses folgender massen gemacht:

*public static String toHexString(byte b)
   {
     int value = (b & 0x7F) + (b < 0 ? 128 : 0);
     String ret = (value < 16 ? "0" : "");
     ret += Integer.toHexString(value).toLowerCase();
     return ret;
   }

   public static void main(String[] args) 
   {
     //if (args.length < 2) {
       //System.out.println(
        // "Usage: java Listing4703 md-algorithm filename"
      // );
      // System.exit(0);
     //}
     try {
       //MessageDigest erstellen
       MessageDigest md = MessageDigest.getInstance("MD5");
       FileInputStream in = new FileInputStream("Test.txt");
       int len;
       byte[] data = new byte[1024];
       while ((len = in.read(data)) > 0) {
         //MessageDigest updaten
         md.update(data, 0, len);
       }
       in.close();
       //MessageDigest berechnen und ausgeben
       byte[] result = md.digest();
       System.out.print("Ergebnis der Verschlüsselung der Beispiel Test.txt- Datei mit dem MD5-Algorithmus: \n\n"); 
       for (int i = 0; i < result.length; ++i) { 
         System.out.print(toHexString(result) + "");
       }*_


Das Problem besteht darin, dass ich nicht weiss wie ich die anderen Zahlen (oder Strings) getrennt nach dem komma einlesen kann und dann auch (die verschlüsselten) wieder zurückgeschrieben bekomme?

Für Hilfe wäre ich sehr dankbar!!!

Gruß

stefan_


----------



## lohr (31. Mrz 2008)

```
public class StringTest
{
	public static void main(String[] args)
	{
		try
		{
			String sZeile = null;
			String sZeile1 = null;
			String sZeile2 = null;
			sZeile = "abcd,123";
			sZeile1 = sZeile.substring(0, sZeile.indexOf(","));
			sZeile2 = sZeile.substring(sZeile.indexOf(",")+1, sZeile.length());
			System.out.println(sZeile);
			System.out.println(sZeile1);
			System.out.println(sZeile2);
		}
		catch(Exception ex)
		{
			System.out.println(ex.getMessage());
		}
	}

}
```


----------



## Marco13 (31. Mrz 2008)

```
String s = "Das, ist, ein, Test";
StringTokenizer st = new StringTokenizer(st, ",");
while (st.hasMoreTokens()) System.out.println(st.nextToken());
```

Die Tags, die du brauchst, sind nicht die [ b ]-Tags, sondern die [ code ]-Tags...


----------



## steve77 (31. Mrz 2008)

Hi, vielen dank schonmal für die hilfe

Habe das mit dem Stringtokenizer mal ausprobiert. Es klappt allerdings leider noch nicht so wie ich es mir erhofft habe habe. Ich habe folgendes.
2. Eine Textdatei, in der die Dateien (Strings) folgendermassen dargestellt sind:

232344545,343453565er,4535rgfg554,56565trgfd5 u.s.w. (Also als seperator das komma)

Folgendes habe ich jetzt implementiert:



```
import java.io.FileInputStream;
import java.security.MessageDigest;
import java.util.StringTokenizer;

public class CreditCardDigestion {

	public void processList() {

	}

	public static String toHexString(byte b) {
		int value = (b & 0x7F) + (b < 0 ? 128 : 0);
		String ret = (value < 16 ? "0" : "");
		ret += Integer.toHexString(value).toLowerCase();
		return ret;
	}

	public void search() {

	}

	public static void main(String[] args) {
		try {
			// create MessageDigest
			MessageDigest md = MessageDigest.getInstance("SHA");
			FileInputStream in = new FileInputStream("Test.txt");
			int len;
			byte[] data = new byte[1024];
			while ((len = in.read(data)) > 0) {
				// update MessageDigest
				md.update(data, 0, len);
			}
			in.close();
			// calculate MessageDigest
			byte[] result = md.digest();
			System.out.print("Ergebnis der Verschlüsselung der Beispiel test.txt- Datei mit dem SHA-Algorithmus: \n\n");
			// String text = new String("Test.txt");
			// String s = "Das ist ein Test";
			String s = new String(result);
			StringTokenizer tokenizer = new StringTokenizer(s, ",");
			while (tokenizer.hasMoreTokens())
				System.out.println(tokenizer.nextToken());
			for (int i = 0; i < result.length; ++i) {
				
				System.out.print(toHexString(result[i]) + "");

			}

			System.out.println("");
		} catch (Exception e) {
			System.err.println(e.toString());
			System.exit(1);
		}
	}

}



[/code ]

Ich bekomme jetzt ganz wirre buchstaben und auch viel mehr als in der datei stehen.

Könnt ihr mir da nochmal weiterhelfen?

Gruß

stefan
```


----------



## steve77 (31. Mrz 2008)

Nun noch die frage:


Ich bekomme als Ergebnis ganz merkwürdige buchstaben, es sind auch mehr ergebnisse als dateien , die eingelsen wurden. Woran kann das liegen?

Gruß

Stefan


----------

