nach Word suchen und ab dort anfangen zu schreiben

celloman

Erfahrenes Mitglied
hallo

Habe diese Tabelle in einer Dadei,

Part: 1 (47)
-3.605202648226 -9.327513809436 0.000000000000
9.327513809436 -3.605202648226 0.000000000000
0.000000000000 0.000000000000 1.000000000000
8.330508804029 5.711266338201 0.000000000000
Part: 1 (59)
1.000000000000 0.000000000000 0.000000000000
0.000000000000 1.000000000000 0.000000000000
0.000000000000 0.000000000000 1.000000000000
-6.123031769112 4.476963182155 6.123031769112
Part: 1 (47)
3.605202648226 9.327513809436 0.000000000000
9.327513809436 3.605202648226 0.000000000000
0.000000000000 0.000000000000 -1.000000000000
8.330508804029 5.711266338201 0.000000000000


Ich öffne die Datei und schreibe es in eine Dadei.

Versuche die ganze Zeit Part: 1 (47) mit samt der inhalt zu sortieren funktioniert leider nicht.
 
sorry mein code:


Code:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class lesenschreiben {
    
    /** Creates a new instance of lesenschreiben */
    public lesenschreiben() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
			BufferedReader br = new BufferedReader(new FileReader("c:/test1.txt"));
			String line;
                        char c;
			while ((line = br.readLine()) != null) {
				System.out.println(line);
                   //  String line = "Ganz viel text : 18283 ";
                      int zahl = Integer.parseInt(line.substring(line.indexOf(":")+1).trim());
                      System.out.println(zahl);  
			}

			br.close();
          
                  
        }
                        catch (IOException e) {
			e.printStackTrace();
                        }
 
Damit du endlich Ruhe gibst und das Forum nicht mit noch mehr Threads befüllst *grml*

Das sind jetzt 10 Minuten Arbeit und du scheinst es selber trotzt Anleitung noch kein bisschen selber versucht haben. Programmieren lernt man nicht vom rumsitzen....

Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SortFile {

	public static class Part implements Comparable<Part> {

		List<String> lines = new ArrayList<String>( );
		String id = null;

		public Part(String partID) {
			id = partID;
		}

		public void addLine(String line) {
			lines.add(line);
		}

		@Override
		public int compareTo(Part other) {
			return this.id.compareTo(other.id);
		}
	}

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new FileReader("test2.txt"));

		String line = null;
		Map<String, Part> parts = new HashMap<String, Part>( );
		Part currentPart = null;
		// Zeile einlesen
		while ((line = br.readLine( )) != null) {
			// Prüfen ob es Anfang eines Parts ist
			if (line.startsWith("Part")) {
				// Wenn noch ein Alter Part vorhanden diesen in
				// die Map packen
				if (currentPart != null) {
					parts.put(currentPart.id, currentPart);
				}
				// Wenn bereits ein Part mit selber Bezeichnung
				// vorhanden
				// diesen nutzen
				currentPart = parts.get(line);
				// Sonst neuen erstellen
				if (currentPart == null) {
					currentPart = new Part(line);
				}
			}
			else {
				// Zeilen zum Part hinzufügen
				if (currentPart != null) {
					currentPart.addLine(line);
				}
			}
		}

		// Parts sortieren
		List<Part> l = new ArrayList<Part>(parts.values( ));
		Collections.sort(l);

		// Parts sortiert ausgeben
		for (Part p : l) {
			System.out.println(p.id);

			// Werte des Parts ermitteln und sammeln
			List<Double> values = new ArrayList<Double>( );
			for (String strg : p.lines) {
				String[] vals = strg.split(" ");
				for (String val : vals) {
					values.add(Double.parseDouble(val));
				}
			}
			// Wert sortiern
			Collections.sort(values);

			// Werte ausgeben
			for (Double d : values) {
				System.out.println(d);
			}
		}
	}
}
 
Zurück