파일의 인코딩 양식을 다른 것으로 변경하고 싶습니다 (상관 없습니다). 하지만 결과 (파일 w.txt)로 파일을 열면 내부가 엉망입니다. Windows가 올바른지 이해하지 못합니다.파일 인코딩을 변경 한 후 Windows가 잘못되었습니다.
어떤 결과 인코딩을해야합니까 (args [1]) 그래서 그것은 Windows 메모장에 의해 올바른 해석됩니까?
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
파일이 엉망인 것을 어떻게 알 수 있습니까? 파일 뷰어가 파일 인코딩을 지원합니까? –
아마도? 유니 코드 인코딩으로 저장/생성 된 파일의 BOM (Byte Order Mark)이 있음을 나타냅니다. –