Witam. Kod poniższy zmienia kodowanie pliku tekstowego i zapisuje go w innym pliku.
import java.io.*;
public class Convert {
private String text;
public static void main(String[] args) {
if (args.length != 4) {
System.out.println("Syntax: in in_enc out out_enc");
System.exit(1);
}
String infile = args[0], // plik wejściowy
in_enc = args[1], // wejściowa strona kodowa
outfile = args[2], // plik wyjściowy
out_enc = args[3]; // wyjściowa strona kodowa
try {
FileInputStream fis = new FileInputStream(infile);
BufferedReader in = new BufferedReader(new InputStreamReader(fis, in_enc));
FileOutputStream fos = new FileOutputStream(outfile);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos, out_enc));
String line;
while ((line = in.readLine()) != null) {
out.write(line);
out.newLine();
}
in.close();
out.close();
} catch (IOException e) {
System.err.println(e);
System.exit(1);
}
}
}
Jednak jeśli zastąpię plik wyjściowy argumentem pliku wejściowego (żeby zapisał mi działania w tym samym pliku), zawartość pliku usuwa się kompletnie. Czy jest w ogóle opcja żeby zapisać działanie tego programu w tym samym pliku nie tracąc jego zawartości?