text/plain
인터넷을 통해 한 줄씩 파일 을 읽으려고합니다 . 지금 가지고있는 코드는 다음과 같습니다.
URL url = new URL("http://kuehldesign.net/test.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
LinkedList<String> lines = new LinkedList();
String readLine;
while ((readLine = in.readLine()) != null) {
lines.add(readLine);
}
for (String line : lines) {
out.println("> " + line);
}
파일 test.txt
에는 ¡Hélló!
인코딩을 테스트하기 위해 사용하고있는이 포함되어 있습니다 .
OutputStream
( out
)를 검토하면 > ¬°H√©ll√≥!
. 나는 문제 없이 OutputStream
할 수 있기 때문에 이것이 문제라고 생각하지 않습니다 out.println("é");
.
읽기에 대한 아이디어가 InputStream
UTF-8로 형성 됩니까? 감사!
답변
내 문제를 해결했습니다. 이 줄 :
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
될 필요가있다:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
또는 Java 7부터
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8));
답변
String file = "";
try {
InputStream is = new FileInputStream(filename);
String UTF8 = "utf8";
int BUFFER_SIZE = 8192;
BufferedReader br = new BufferedReader(new InputStreamReader(is,
UTF8), BUFFER_SIZE);
String str;
while ((str = br.readLine()) != null) {
file += str;
}
} catch (Exception e) {
}
이 시도,.. 🙂
답변
특수 문자가 로 표시되는 것을 발견 할 때마다 같은 문제가 발생했습니다. 이 문제를 해결하기 위해 ISO-8859-1 인코딩을 사용해 보았습니다.
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("txtPath"),"ISO-8859-1"));
while ((line = br.readLine()) != null) {
}
이 게시물을 보는 모든 사람에게 도움이되기를 바랍니다.