`
yuhai.china
  • 浏览: 160503 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用CharBuffer和 InputStreamReader读取各种编码的网页

阅读更多
只要指明编码格式,就能正确的读取。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.nio.CharBuffer;

public class PageParser {

	public static void main(String args[]) {
		BufferedReader in = null;
		try {
			in = new BufferedReader(new InputStreamReader(new URL(
					"http://news.cnool.net/0-1-19/35941/3.html").openStream(),
					"utf-8"));
		} catch (Exception e2) {
			e2.printStackTrace();
		}
		CharBuffer bos = CharBuffer.allocate(20480);
		int read = 0;
		StringBuilder sb = new StringBuilder();
		try {
			while (in.read(bos) != -1) {
				bos.flip();
				sb.append(bos.toString());
			}
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		System.out.println(sb.toString());
	}
}

分享到:
评论

相关推荐

    gb18030编码

    例如,使用`InputStreamReader`和`BufferedReader`读取文件时: ```java FileInputStream fis = new FileInputStream("file.txt"); InputStreamReader isr = new InputStreamReader(fis, "GB18030"); ...

    JAVA 转换字符编码工具

    此外,`java.io`包中的`InputStreamReader`和`OutputStreamWriter`是常用的字符流和字节流之间的桥梁,它们可以根据指定的编码进行读写操作。例如,从GBK编码的文件读取内容并转换为UTF-8编码: ```java ...

    java中的编码知识

    2. **InputStreamReader 和 OutputStreamWriter**:当读写文件时,应该使用这两个类来处理字符流,它们允许我们指定具体的字符编码。例如: ```java FileInputStream fis = new FileInputStream(file); ...

    JavaIODemo-master.zip

    3. **转换流**:InputStreamReader和OutputStreamWriter作为桥梁,将字节流转换为字符流,处理字符编码问题。例如,可以使用它们将FileInputStream与UTF-8编码的FileWriter关联起来。 4. **对象序列化与反序列化**...

    java中的IO的基础教学(1)

    2. FileReader和FileWriter:用于读取和写入文件的字符流,基于Unicode编码。 3. BufferedReader和BufferedWriter:用于提高读写效率,通过缓冲区操作字符流。 4. InputStreamReader和OutputStreamWriter:作为字节...

    彻底明白Java的IO系统

    - **转换流**:Java提供了`InputStreamReader`和`OutputStreamWriter`,它们可以将字节流转换为字符流,以适应不同编码的需求,使得以字节为导向的流和以字符为导向的流之间能够进行转换。 3. **Stream的属性和...

    IO和NIO输入输出流

    InputStreamReader和OutputStreamWriter是字节流和字符流之间的桥梁,用于字符编码的转换。 4. 文件操作:File类是Java IO的重要组成部分,用于文件和目录的创建、删除、重命名等操作。FileInputStream和...

    java代码-Java 输入输出命令

    - `InputStreamReader`和`OutputStreamWriter`用于在字节流和字符流之间转换,解决字符编码问题。 8. **数据流** - `DataInputStream`和`DataOutputStream`用于处理基本数据类型和字符串的读写。 9. **对象流** ...

    JDK中的设计模式

    - `java.io.InputStreamReader(InputStream)`:读取字节流中的数据,并使用指定的编码转换为字符。 - `java.io.OutputStreamWriter(OutputStream)`:将字符流写入字节流。 - `javax.xml.bind.annotation.adapters....

Global site tag (gtag.js) - Google Analytics