ファイルのエンコーディング形式を別のものに変更したかったのです(どちらでもかまいません)。しかし、結果(ファイルw.txt)でファイルを開くと、内部がめちゃくちゃになります。Windows はそれを正しく理解していません。
Windowsのメモ帳で正しく解釈されるように、どの結果エンコーディング(args [1])を配置する必要がありますか?
import java.io.*;
import java.nio.charset.Charset;
public class Kodowanie {
public static void main(String[] args) throws IOException {
args = new String[2];
args[0] = "plik.txt";
args[1] = "ISO8859_2";
String linia, s = "";
File f = new File(args[0]), f1 = new File("w.txt");
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(fis,
Charset.forName("UTF-8"));
BufferedReader in = new BufferedReader(isr);
FileOutputStream fos = new FileOutputStream(f1);
OutputStreamWriter osw = new OutputStreamWriter(fos,
Charset.forName(args[1]));
BufferedWriter out = new BufferedWriter(osw);
while ((linia = in.readLine()) != null) {
out.write(linia);
out.newLine();
}
out.close();
in.close();
}
}
入力:
Ala
ma
Kota
出力:
?Ala
ma
Kota
なぜ「?」があるのですか?