2016-04-29 6 views
1

Ich möchte eine mit Anmerkungen versehene Datei kopieren und diese Anmerkungen in der neuen Kopie ersetzen. Wie auch immer ich mich anstrenge, wie man den Austausch vornimmt. Ich bin derzeit die gesamte Datei in einen String zu lesen und die Anmerkungen zu ersetzen, bevor die Zeichenfolge in eine neue Datei zu speichern:Ersetzen bestimmter Ausdrücke in der Datei Java

String file = null; 

void openAnnotatedSource(String path){ 

    byte[] encoded = null; 
    try { 
     encoded = Files.readAllBytes(Paths.get(anotatedpath + "/" + path)); 
    } catch(Exception e) { 
     System.out.println("Error opening annotated source."); 
    } 

    file = new String(encoded, StandardCharsets.UTF_8); 

} 

void replaceAnotation(String anotation, String config){ 
    file = file.replace(anotation, config); 
} 

void replaceAnotation(String anotation, int config){ 
    file = file.replace(anotation, String.valueOf(config)); 
} 

void createFinalSource(String path){ 
    try{ 
     Files.write(Paths.get(targetpath + "/" + path), file.getBytes()); 
    } catch(Exception e) { 
     System.out.println("Couldnt create " + targetpath + "/" + path); 
    } 
} 

Ich weiß nicht, ob ich das richtig mache, weil die Datei die ganze Zeit, wie Eine Schnur scheint mir nicht korrekt zu sein.

Antwort

0

Jeder anständige Texteditor hat eine Suche & Replace-Funktion, die reguläre Ausdrücke unterstützt.

Wenn Sie jedoch Grund haben, das Rad in Java neu zu erfinden, ist der von Ihnen verfolgte Ansatz ein vernünftiger Weg. Sie schreiben den geänderten Inhalt in eine andere neue Datei, lesen den Inhalt aus der Quelldatei in eine Zeichenfolge und ändern ihn Der Inhalt von string und das Erstellen einer neuen Datei mit aktualisierten Strings verursacht keine Probleme.

Verwandte Themen