Announcement

Collapse
No announcement yet.

String an Zeilenende anhängen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String an Zeilenende anhängen

    Hi!

    Also ich benötige für meinen Job folgendes (ich hoffe mal kleines) Hilfsprogramm:

    Ich hab eine Datei die ungefähr so aussieht

    N1 X3.46 Y4.678<br>
    N2 X5.478 Y4.487<br>
    N3 X7.564 Y4.72<br>
    N4 X9.644 Y5.534<br>
    N999 M17<br>

    Allerdings hat meine Datei hier über 5000 Zeilen. Ich muss an jede Zeile einen String anhängen so das es dann so aussieht.

    N1 X3.46 Y4.678 L=R28<br>
    N2 X5.478 Y4.487 L=R28<br>
    N3 X7.564 Y4.72 L=R28<br>
    N4 X9.644 Y5.534 L=R28<br>
    N999 M17<br>

    Und da das bei ca 5000 Zeilen der Fall ist ist das recht mühselig ;o)

    Solche Probleme in der Art hab ich öfter ... Was variiert ist der String der angehängt werden soll und die Zeilenanzahl.
    Wie könnte ich das Problem in Java lösen? (ein reines Konsolenprogramm ist völlig ausreichend)

    Danke schonmal im Vorraus

  • #2
    Hallo David,
    das ist mal das Grundgerüst für dein Vorhaben: Die Datei test.txt
    enthält die Ursprungsdatei, die andere das Ergebnis.

    Lade dir doch Guido Krügers Online Buch runter --> www.javabuch.de, ein gutes Buch für Einsteiger. Dort findest du alles weitere. Ansonsten melde dich hier wieder.

    Aber was mich noch interessieren würde: Wozu benötigst du Java um eine
    CNC Datei zu editieren?

    Thomas

    <pre>
    import java.io.*;

    public class SimpleIO
    {

    public static void main(String[] args)
    {
    BufferedReader in;
    BufferedWriter out;
    String line;

    try
    {
    in = new BufferedReader(new FileReader("d:\\test.txt"));
    out = new BufferedWriter(new FileWriter("d:\\new_test.txt"));
    while ((line = in.readLine()) != null)
    {
    if (line.indexOf("M17") == -1)
    {
    line += " L=R28";

    }
    out.write(line);
    out.newLine();
    }
    in.close();
    out.close();
    }
    catch (IOException e)
    {
    e.printStackTrace();
    }
    }
    }
    </pr

    Comment


    • #3
      Hi Thomas!

      Ich danke Dir erstmal. Also ich bin von Beruf, wie du unschwer erkennen konntest, CNC - Programmierer. Wir haben vor kurzen das Steuerungssystem gewechselt und müssen nun um bei unseren alten Programmen einen Zyklus aufzurufen den besagten String hinter jede Koordinate schreiben. Ich hab mich für Java entschieden, weil ich da 1. schon ein klein wenig Erfahrung hab (Grundkurs im Abendstudium) und zweitens das JDK der einzige Kompiler ist, den ich auf meinem Firmen-PC installiert hab.
      Vielen Dank für das Grundgerüst. Wird mir sicher ne Menge Arbeit abnehmen.
      Ich werd mir das besagte Buch mal anschaun, zumal es noch eine Menge andere Probleme gibt, die ich Gedenke auf eine ähnliche Weise zu lösen (zum Beispiel das Wegrunden der Tausender-Stellen bei allen Koordinaten

      Comment

      Working...
      X