2017-05-02 6 views
0

FileUtils을 사용하여 txt 파일의 인코딩을 변경하려고하지만 기능 실행 후 NotePad ++를 사용하여 파일의 인코딩을 확인하지만 파일의 인코딩에는 변경 사항이 없습니다.아파치 코드를 사용하여 파일 인코딩 변경 io가 작동하지 않습니까?

import java.io.File; 
import java.io.IOException; 
import org.apache.commons.io.FileUtils; 


public class FileManager { 


    public void changeFileCharset(File file) throws IOException{ 

      String content = FileUtils.readFileToString(file, "ISO-8859-1"); 
      FileUtils.write(file, content, "UTF-8"); 

    } 

     public static void main(String[] args) throws IOException { 
      FileManager fileManager = new FileManager(); 
      fileManager.changeFileCharset(new File("unknown_words.txt")); 
     } 

} 

나는 또한 BufferedReaderBufferedWriter를 사용하여이 기능을 시도,하지만 난 아무것도 얻을 수 없다.

enter image description here enter image description here

가, 나쁜 또는 무엇 ++ 메모장을 사용하여 문자 집합 확인 방법 : 여기

public static void transform(File source, String srcEncoding, File target, String tgtEncoding) throws IOException { 
     try (
      BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(source), srcEncoding)); 
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(target), tgtEncoding));) { 
       char[] buffer = new char[16384]; 
       int read; 
       while ((read = br.read(buffer)) != -1) 
        bw.write(buffer, 0, read); 
     } 
    } 

public static void main(String[] args) throws IOException { 

    FileManager manager = new FileManager(); 
    File file = new File("test.txt"); 
    File file1 = new File("test1.txt"); 
    manager.transform(file, "UTF-8", file1, "ISO-8859-1"); 

    } 

두 사진 그게 전부는 소스 파일과 대상 파일의 인코딩을 보여줍니다인가?

아이디어가 있으십니까?

답변

1

인코딩은 "암호화"(호출 할 때)가 아닙니다. 또한 Notepad ++에서 파일의 인코딩을 결정하는 것이 항상 쉬운 것은 아닙니다. 예를 들어 모든 내용이 순수한 ASCII 문자이면 UTF-8과 ISO-8859-1로 인코딩 된 파일간에 차이가 없습니다.

프랑스어 악센트가있는 단어가 포함 된 텍스트를 추가해야합니다. 그런 다음 파일을 UTF-8 및 ANSI로 읽도록 메모장 + +를보고 어떤 인코딩 결과가 읽을 수있는 텍스트인지 확인합니다.

+0

암호화 단어에 대해 유감스럽게 생각합니다. 단지 실수 일뿐입니다. – Yacino