Chr*_*ehl 94 java inputstream utf-8
我试图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);
}
Run Code Online (Sandbox Code Playgroud)
该文件test.txt包含¡Hélló!,我正在使用它来测试编码.
当我查看OutputStream(out)时,我将其视为> ¬°H?©ll??!.我不相信这是一个问题,OutputStream因为我可以out.println("é");没有问题.
阅读的任何想法都形成InputStreamUTF-8?谢谢!
Chr*_*ehl 178
解决了我自己的问题.这一行:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
Run Code Online (Sandbox Code Playgroud)
需要是:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
或者从Java 7开始:
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8));
Run Code Online (Sandbox Code Playgroud)
小智 15
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) {
}
Run Code Online (Sandbox Code Playgroud)
试试这个,.. :-)
每当发现特殊字符将其标记为??时,我都会遇到相同的问题。为了解决这个问题,我尝试使用以下编码:ISO-8859-1
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("txtPath"),"ISO-8859-1"));
while ((line = br.readLine()) != null) {
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以对任何看到此帖子的人有所帮助。
| 归档时间: |
|
| 查看次数: |
191628 次 |
| 最近记录: |