Java로 UTF-8 파일을 작성하는 방법?
현재 코드가 몇 개 있는데 문제는 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
, 생성 aFileOutputStream
그리고 나서 당신은 이것을 포장할 수 있다.OutputStreamWriter
생성자에서 인코딩을 전달할 수 있는 .그런 다음 Try-with resource Statement:
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();
}
Apache Commons에서 사용해 보십시오.
다음과 같은 일을 할 수 있어야 한다.
File f = new File("output.txt");
FileUtils.writeStringToFile(f, document.outerHtml(), "UTF-8");
파일이 존재하지 않는 경우 이 파일이 생성될 것이다.
Java 7이후로 당신은 같은 일을 할 수 있다.Files.newBufferedWriter
조금 더 간결하게:
Path logFile = Paths.get("/tmp/example.txt");
try (BufferedWriter writer = Files.newBufferedWriter(logFile, StandardCharsets.UTF_8)) {
writer.write("Hello World!");
// ...
}
자바의 UTF-8 작문이 도청되고 있기 때문에 여기에 제시된 모든 답변은 효과가 없을 것이다.
http://tripoverit.blogspot.com/2007/04/javas-utf-8-and-unicode-writing-is.html
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();
Java 7 Files 유틸리티 유형은 다음 파일 작업에 유용하다.
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));
}
}
Java 8 버전에서는 Charset 인수를 생략할 수 있다 - 메서드는 UTF-8로 기본 설정된다.
우리는 UTF-8 인코딩된 파일을 PrintWriter를 사용하여 UTF-8 인코딩된 xml을 쓸 수 있다.
또는 여기를 클릭하십시오.
PrintWriter out1 = new PrintWriter(new File("C:\\abc.xml"), "UTF-8");
아래 샘플 코드는 파일들을 한 줄씩 읽고 UTF-8 포맷으로 새로운 파일을 쓸 수 있다.또한 Cp1252 인코딩을 명시적으로 명시하고 있다.
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("c:\\filenonUTF.txt"),
"Cp1252"));
String line;
Writer out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(
"c:\\fileUTF.txt"), "UTF-8"));
try {
while ((line = br.readLine()) != null) {
out.write(line);
out.write("\n");
}
} finally {
br.close();
out.close();
}
}
참조URL: https://stackoverflow.com/questions/1001540/how-to-write-a-utf-8-file-with-java
'Programing' 카테고리의 다른 글
언제 부울의 null 값을 사용해야 하는가? (0) | 2022.05.08 |
---|---|
C++ 및 C에서 함수 매개 변수로 'const int' 대 'int const' (0) | 2022.05.08 |
중단점 목록을 저장하도록 GDB 가져오기 (0) | 2022.05.08 |
라디오 그룹 Vuetify 중앙 집중화 (0) | 2022.05.07 |
Java String - 문자열이 숫자만 포함되고 문자가 포함되지 않는지 확인 (0) | 2022.05.07 |