현재 코드가 있는데 문제는 1252 코드 페이지 파일을 만드는 것입니다. UTF-8 파일을 만들도록 강요하고 싶습니다
내가 현재 작동한다고 말하면 누구나이 코드로 나를 도울 수 있습니까?하지만 utf에 강제로 저장해야합니다 .. 매개 변수 나 무언가를 전달할 수 있습니까 ??
이것은 내가 가진 것입니다, 어떤 도움이라도 정말로 감사합니다
var out = new java.io.FileWriter( new java.io.File( path )),
text = new java.lang.String( src || "" );
out.write( text, 0, text.length() );
out.flush();
out.close();
답변
을 사용하는 대신을 FileWriter
만듭니다 FileOutputStream
. 그런 다음 이것을로 감싸서 OutputStreamWriter
생성자에서 인코딩을 전달할 수 있습니다. 그런 다음 try-with-resources 문 안에 데이터를 쓸 수 있습니다 .
try (OutputStreamWriter writer =
new OutputStreamWriter(new FileOutputStream(PROPERTIES_FILE), StandardCharsets.UTF_8))
// do stuff
}
답변
이 시도
Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("outfilename"), "UTF-8"));
try {
out.write(aString);
} finally {
out.close();
}
답변
사용해보십시오 FileUtils.write
Apache Commons에서 .
다음과 같은 작업을 수행 할 수 있어야합니다.
File f = new File("output.txt");
FileUtils.writeStringToFile(f, document.outerHtml(), "UTF-8");
파일이 없으면 작성됩니다.
답변
여기에 제공된 모든 답변은 Java의 UTF-8 작성이 버그가 있기 때문에 작동하지 않습니다.
http://tripoverit.blogspot.com/2007/04/javas-utf-8-and-unicode-writing-is.html
답변
Java 7부터는 Files.newBufferedWriter
좀 더 간결하게 똑같이 할 수 있습니다 .
Path logFile = Paths.get("/tmp/example.txt");
try (BufferedWriter writer = Files.newBufferedWriter(logFile, StandardCharsets.UTF_8)) {
writer.write("Hello World!");
// ...
}
답변
var out = new java.io.PrintWriter(new java.io.File(path), "UTF-8");
text = new java.lang.String( src || "" );
out.print(text);
out.flush();
out.close();
답변
자바 7 파일 유틸리티 유형의 파일 작업을하는 데 유용합니다 :
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.*;
public class WriteReadUtf8 {
public static void main(String[] args) throws IOException {
List<String> lines = Arrays.asList("These", "are", "lines");
Path textFile = Paths.get("foo.txt");
Files.write(textFile, lines, StandardCharsets.UTF_8);
List<String> read = Files.readAllLines(textFile, StandardCharsets.UTF_8);
System.out.println(lines.equals(read));
}
}
자바 8 버전은 당신이 생략 할 수 있습니다 캐릭터 세트의 UTF-8 방법의 기본 – 인수를.