2016-10-31 3 views
0

java를 사용하여 UTF-8 형식으로 텍스트 파일을 저장하는 데 문제가 있습니다. 생성 된 텍스트 파일에 대한 저장을 클릭하면 ANSI가 텍스트 형식으로 제공되지만 UTF-8은 제공되지 않습니다. 아래 파일을 만드는 동안 내가 쓰고 있어요 코드입니다 :자바에서 UTF-8 인코딩으로 텍스트 파일을 저장하는 방법은 무엇입니까?

String excelFile=""; 

    excelFile = getFullFilePath(fileName); 
    File file = new File(excelFile + fileName,"UTF-8"); 
    File output = new File(excelFile,"UTF-8"); 

    FileUtils.writeStringToFile(file, content, "UTF-8"); 

텍스트 파일을 만드는 동안, 나는 UTF-8 인코딩을 사용하고는 있지만, 파일은 여전히 ​​저장하는 동안 ANSI로 인코딩을 보여줍니다. 친절히 도와주세요.

+0

이 URL을 참조하십시오. http://howtodoinjava.com/core-java/io/how-to-read-write-utf-8-encoded-data-in-java/ – Jobin

+0

왜 두 번째 매개 변수 'File' 생성자에서 인코딩 할 것인가? [설명서] (https://docs.oracle.com/javase/7/docs/api/java/io/File.html#File (java.lang.String, % 20java.lang.String))를 읽었습니까? ? – shmosel

+0

원본 파일의 인코딩이란 무엇입니까? 또한 코드가 올바르지 않습니다. 생성자 File의 두 번째 매개 변수는 "인코딩"이 아닌 "자식"입니다. 그리고 제발, 어떻게 콘텐츠 변수를 초기화합니까 보여주십시오. –

답변

1

File을 사용하는 대신 FileOutputStream을 만듭니다. 시도해보십시오.

Writer out = new BufferedWriter(new OutputStreamWriter(
    new FileOutputStream("outfilename"), "UTF-8")); 
try { 
    out.write(aString); 
} finally { 
    out.close(); 
} 
+0

제안 해 주셔서 감사합니다.하지만 저장 중에 ANSI 형식을 제공합니다. –

0

나는 그와 매우 비슷한 문제가있어서 원본 파일을 UTF-8 인코딩으로 저장하는 방법을 해결했습니다. 이 경우 Excel 파일로 이동하여 다시 저장하거나 새 파일을 만들고 내용을 복사 한 다음 해당 인코딩이 UTF-8인지 확인하십시오. 이 링크에는 UTF-8 인코딩을 사용하여 Excel 파일을 저장하는 방법에 대한 자습서가 있습니다 (https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16). 대부분의 코드는 정확합니다.

관련 문제