package com.ls.java.newio;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
public class BaiduReader {
private Charset charset = Charset.forName("GBK");
private SocketChannel channel;
public void readHtmlContent() {
try {
InetSocketAddress address = new InetSocketAddress("www.baidu.com", 80);
channel = SocketChannel.open(address);
channel.write(charset.encode("GET " + "/ HTTP/1.1" + "\r\n\r\n"));
ByteBuffer buffer = ByteBuffer.allocate(1024);
while(channel.read(buffer) != -1) {
buffer.flip();
System.out.println(charset.decode(buffer));
buffer.clear();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(channel != null) {
try {
channel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
new BaiduReader().readHtmlContent();
}
}
分享到:
相关推荐
根据提供的文件信息,我们可以提取并总结出关于Java NIO(New Input/Output)的重要知识点。 ### Java NIO 概述 Java NIO 是 Java 平台的一个重要特性,首次出现在 Java 1.4 版本中。它为 Java 开发者提供了一套...
import java.nio.charset.Charset; public class FileEncodingConverter { public static void main(String[] args) { String sourceFilePath = "source.txt"; String targetFilePath = "target.txt"; ...
4. `java.nio.charset.spi`:这是一个服务提供者接口(SPI)包,定义了实现Charset接口的抽象类,允许第三方添加新的字符集支持。 5. `java.nio.channels.spi`:类似的,这个包提供了Channel和Selector的SPI,用于...
System.out.println("Received: " + Charset.defaultCharset().decode(buffer)); buffer.clear(); } } iterator.remove(); } } } ``` 以上就是Java NIO详细教程的知识点解析,希望对你有所帮助。Java NIO是...
//import java.nio.charset.Charset; //import java.nio.charset.CharsetEncoder; import java.util.Iterator; import java.util.List; import java.util.regex.*; import org.dom4j.Attribute; import org....
import java.nio.charset.CharsetDecoder; import java.util.Iterator; /** 测试文件下载的NIOServer */ public class NIOServer { static int BLOCK = 4096; // 每次发送的数据块大小 // 处理与客户端的交互 ...
import java.nio.charset.CharsetDecoder; public class AutoCharsetReader { public static void main(String[] args) throws Exception { try (RandomAccessFile file = new RandomAccessFile("example.txt", ...
《Apress.Pro.Java.7.NIO.2.2011》这本书专注于讲解Java 7中的非阻塞I/O(Non-blocking I/O, NIO)和NIO 2的高级特性,是Java开发者深入理解这一关键领域的重要参考资料。NIO在Java平台中扮演着至关重要的角色,特别...
25. **java.nio.charset.Charset**:处理字符集的类,用于编码和解码。 26. **java.nio.file.Files**:提供大量静态方法用于文件系统操作,如创建、删除、复制文件或目录。 27. **java.nio.file....
除了自定义过滤器,Java还提供了一些内置的工具类来处理编码转换,如`java.nio.file.Files`和`java.nio.charset.CharsetConverter`。这些工具可以简化编码转换的操作,但在处理大文件或网络流时,自定义过滤器能更好...
Java 6引入了`java.nio.charset.CharsetDetector`类,它可以检测输入流的字符编码。以下是一个简单的示例: ```java import java.io.FileInputStream; import java.nio.charset.Charset; import java.nio....
- **`java.nio.charset.spi`**:定义了可用来实现 charset API 的抽象类。 在实际开发中,通常只与 `java.nio`、`java.nio.channels` 和 `java.nio.charset` 三个包打交道,因为它们提供了最常用的功能。 #### ...
在Java中,可以使用`java.nio.file.Files`和`java.nio.charset.Charset`类读取和写入文件。以下是一个简单的例子,展示了如何遍历目录,找到所有.txt文件并替换其中的特定字符串: ```java import java.io....
java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。...java.nio.charset.spi java.nio.charset 包的服务提供者类。
24、字符集:java.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。 * java.nio.charset 是 Java 2 Platform 的一部分,提供了字符集的定义和转换功能。 25、RMI 包:java.rmi ...
在Java中,可以使用`java.nio.charset.Charset`类的`newEncoder()`方法创建一个`CharsetEncoder`对象,然后调用其`encode()`方法进行编码转换。以下是一个简单的示例: ```java import java.nio.charset.Charset; ...
import java.nio.charset.Charset; import java.util.Properties; public class SafeProperties extends Properties { private Charset charset = Charset.forName("UTF-8"); // 设置所需的字符编码 @Override ...
import java.nio.charset.CharsetDecoder; import java.nio.charset.CharsetEncoder; public class BufferedStream01 { public static void main(String[] args) throws IOException { // 源文件的编码(例如:...