Ich schreibe ein Java-Programm, das eine Testdatei eingibt, einige Änderungen an den Daten vornimmt und sie dann in eine neue Dateiausgabe schreibt.Java Programm liest die Eingabe aus einer Textdatei und ändert sie entsprechend
Die Eingabetextdatei sieht wie folgt aus ...
url = http://184.154.145.114:8013/wlraac name = wlr samplerate = 44100 channels =2 format = S16le~
url = http://newstalk.fmstreams.com:8080 name = newstalk samplerate = 22050 channels = 1 format = S16le
Das Programm muss die Samplerate auf 44100 und die Kanäle auf 1 ändern, wenn sie nicht bereits diese Werte haben tun können. Ich würde auch die URL entfernen und Teile komplett benennen. Nach diesen Änderungen muss die neue Zeile in eine andere Ausgabetextdatei geschrieben werden.
Bisher kann mein Programm nur eine Datei auswählen und den Inhalt der Datei für den Benutzer anzeigen. Könnte jemand bitte zeigen Sie mir in die richtige Richtung für wie mein Programm arbeiten sollte, um mein erforderliches Ergebnis zu erreichen.
Als jemand hier gefragt ist, was ich habe bisher
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
public class reader2 {
public reader2() {
}
public static void main(String[] args) {
reader(args);
}
public static void reader(String[] args) {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".txt")
|| f.isDirectory();
}
public String getDescription() {
return "Text Documents (.txt)";
}
});
int r = chooser.showOpenDialog(new JFrame());
if (r == JFileChooser.APPROVE_OPTION) {
String name = chooser.getSelectedFile().getName();
String pathToFIle = chooser.getSelectedFile().getPath();
System.out.println(name);
try{
BufferedReader reader = new BufferedReader(new FileReader(pathToFIle)); //Setup the reader
while (reader.ready()) { //While there are content left to read
String line = reader.readLine(); //Read the next line from the file
String[] tokens = line.split("url = "); //Split the string at every @ character. Place the results in an array.
for (String token : tokens){ //Iterate through all of the found results
//System.out.println(token);
System.out.println(token);
}
}
reader.close(); //Stop using the resource
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
}
Was haben Sie versucht? Wenn Sie die Datei bereits lesen können, sollten Sie in der Lage sein, die gewünschten Teile zu lesen und in die Ausgabedatei zu schreiben. – jzworkman
Zeigen Sie uns Ihren Code, der die Datei öffnet und den Inhalt liest. –
Warum ersetzen Sie nicht einfach alle "Samplerate" durch 44100 mit einer Regex, unabhängig von ihrem Wert. Sie können dies tun, während Sie die Datei lesen ... und dann einfach die Ausgabe schreiben. – radimpe