에 자바와 UTF-16LE를 사용하여 TSV 파일로 저장 자바를 통해 tsv 파일? EDIT : xls 파일을 Java를 통해 tsv 파일로 변환 할 수있는 방법이 있습니까?여는 XLS 파일과 나는 두 가지 질문을했습니다 UTF-8 변환
Java를 사용하여 UTF-16LE 파일을 UTF-8로 변환 할 수있는 방법이 있습니까?
은/수정/열 .XLS 파일을 저장할 수 있습니다 jexcelapi라는 라이브러리가 당신에 자바와 UTF-16LE를 사용하여 TSV 파일로 저장 자바를 통해 tsv 파일? EDIT : xls 파일을 Java를 통해 tsv 파일로 변환 할 수있는 방법이 있습니까?여는 XLS 파일과 나는 두 가지 질문을했습니다 UTF-8 변환
Java를 사용하여 UTF-16LE 파일을 UTF-8로 변환 할 수있는 방법이 있습니까?
은/수정/열 .XLS 파일을 저장할 수 있습니다 jexcelapi라는 라이브러리가 당신나는 두 가지 질문을했습니다 우리가 java를 사용하여 UTF-16LE 파일을 UTF-8로 변환 할 수있는 방법이 있습니까?
물론 있습니다. 그리고 한 가지 이상의 방법이 있습니다.
기본적으로 입력 인코딩 (UTF-16LE)을 지정한 입력 파일을 읽고 출력 인코딩 (UTF-8)을 지정하는 파일을 작성하려고합니다.
는 일부 UTF-16LE 인코딩 된 파일이 말 :... $ file testInput.txt
testInput.txt: Little-endian UTF-16 Unicode character data
을하면 다음 기본적으로 (그냥 예입니다 자바에서 이런 일을 할 수있는 : 당신은 어쩌면, 누락 된 예외 처리 코드를 입력 할 수 있습니다 등), 어떤 경우 BOM을 폐기 어쩌면, 마지막에 마지막 개행을 넣지 :이 UTF-8로 인코딩 된 파일을 생성해야
FileInputStream fis = new FileInputStream(new File("/home/.../testInput.txt"));
InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-16LE"));
BufferedReader br = new BufferedReader(isr);
FileOutputStream fos = new FileOutputStream(new File("/home/.../testOutput.txt"));
OutputStreamWriter osw = new OutputStreamWriter(fos, Charset.forName("UTF-8"));
BufferedWriter bw = new BufferedWriter(osw);
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine(); // will add an unnecessary newline at the end of your file, fix this
}
bw.flush();
// take care of closing the streams here etc.
.
$ file testOutput.txt
testOutput.txt: UTF-8 Unicode (with BOM) text
BOM을 명확하게, 예를 들면, 사용을 알 수있다, 16 진 덤프 :이 두번째 인코딩하는 동안에
$ hexdump testOutput.txt -C
00000000 ef bb bf ... (snip)
는 BOM은 (EF BB FB) UTF-8에서 3 바이트를 인코딩 UTF-16의 바이트. UTF16-LE에서 BOM은 다음과 같습니다 : UTF-8 인코딩 된 파일 또는 (둘 다 완전히 유효)하지 않을 수 있습니다 "BOM"(바이트 순서 마스크)를 가질 수
$ hexdump testInput.txt -C
00000000 ff fe ... (snip)
하는 것으로. UTF-8 파일의 BOM은 바보가 아닙니다. 바이트 순서는 신경 쓰지 않지만 텍스트 파일을 UTF-8로 인코딩 된 것으로 신속하게 식별하는 데 도움이 될 수 있습니다. BOM이있는 UTF-8 파일은 유니 코드 사양에 따라 완전히 합법적이므로 BOM으로 시작하는 UTF-8 파일을 처리 할 수없는 독자는 고장났습니다. 평범하고 단순합니다.
BOM을 처리 할 수없는 깨진 UTF-8 판독기로 작업하는 이유가 무엇이든간에 디스크에 쓰기 전에 BOM을 첫 번째 문자열에서 제거해야 할 수 있습니다. 여기 BOM을에
더 많은 정보를 정기적으로 :
감사드립니다. .xls 파일을 읽은 후에는 .tsv 파일로 출력 할 수있는 내용을 작성하는 것이 어렵지 않습니다.
인가 : 내가 두 번째 질문을 답변 해 드리겠습니다 당신이 두 가지 질문에 그 분할한다에 StackOverflow에
...
:
문제를 이잖아. jexcelapi를 사용할 때 "다른 이름으로 저장"할 수있는 방법이 없습니다. 주위에 다른 방법이 있습니까? – Tom
고맙습니다. – Tom