Reading InputStream as UTF-8
我正在尝试通过Internet从
1 2 3 4 5 6 7 8 9 10 11 12 | 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); } |
文件
当我查看
有什么想法可以将
解决了我自己的问题。 这行:
1 |
需要是:
1 |
或从Java 7开始:
1 | BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8)); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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
1 2 3 4 5 | BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("txtPath"),"ISO-8859-1")); while ((line = br.readLine()) != null) { } |
我希望这可以对任何看到此帖子的人有所帮助。