- 浏览: 1396865 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (328)
- JSF (27)
- 生活 (12)
- Ajax (26)
- Maven (6)
- CSS (1)
- Shale (3)
- SiteMesh (1)
- Ext (15)
- JMX (2)
- Windows技巧 (7)
- 工作感悟 (18)
- SVN (2)
- SVG (0)
- GoogleGear (0)
- RAP (2)
- SOA与WebService (3)
- 笔记本技术研究 (1)
- Microsoft (2)
- 英语学习 (3)
- PHP (7)
- web 2.0 (6)
- 语义Web (1)
- IT史话 (3)
- iText (3)
- JVM (1)
- PropertiesEditor (1)
- J2SE (33)
- Spring (2)
- Java Batch (1)
- log (2)
- Struts2 (2)
- DWR (0)
- JAAS (3)
- EJB3 (4)
- Flex (8)
- JFreeChart (1)
- WAS (0)
- 数据库 (2)
- 摄影 (0)
- SQL (1)
- Google App Engine (1)
- linux (5)
- Eclipse plugin (10)
- Testing (0)
- Portal (0)
- 移动互联网 (0)
- SWTBot (1)
最新评论
-
江奇缘:
不错!!!!!!
web.xml里<filter-mapping>中的<dispatcher>作用 -
yy8093:
commonj 第三步,那个调用的方法要在哪里调?servle ...
JAVA中多种计时器的比较与分析 -
di1984HIT:
学习了,不错~
web.xml里<filter-mapping>中的<dispatcher>作用 -
penkee:
com.lowagie.text.DocumentExcept ...
iText中输出 中文 -
氵壞男亼乀:
我想请问下 你哪个html里面引入的几个js文件没看懂!你 ...
DWR入门教程之HelloWorld
对于我们常用的GBK中,英文是占用1个字节,中文是2个
对于UTF-8,英文是1个,中文是3个
对于Unicode,英文中文都是2个
Java IO包:
Java io包中的流操作分为字节流和字符流两种。
1、 字节流
所有的读操作都继承自一个公共超类 java.io.InputStream 类。
所有的写操作都继承自一个公共超类 java.io.OutputStream 类。
InputStream 和 OutputStream 都是抽象类。
InputStream 有 6 个低级输入流:
低级流 |
流的用途 |
ByteArrayInputStream |
从内存数组中读取数据字节 |
FileInputStream |
从本地文件系统中读取数据字节 |
PipedInputStream |
从线程管道中读取数据字节 |
StringBufferInputStream |
从字符串中读取数据字节 |
SequenceInputStream |
从两个或多个低级流中读取数据字节,当到达流的末尾时从一个流转到另一个流 |
System.in |
从用户控制台读取数据字节 |
InputStream 还有一个子类:过滤器流 java.io.FilterInputStream 。过滤器流即能把基本流包裹起来,提供更多方便的用法。
FilterInputStream 类的构造方法为 FilterInputStream(InputStream) ,在指定的输入流之上,创建一个输入流过滤器。
FilterInputStream 的常用的子类如下:
过滤器输入流 |
流的用途 |
BufferedInputStream |
缓冲区对数据的访问,以提高效率 |
DataInputStream |
从输入流中读取基本数据类型,如 int 、 float 、 double 或者甚至一行文本 |
LineNumberInputStream |
在翻译行结束符的基础上,维护一个计数器,该计数器表明正在读取的是哪一行。 |
PushbackInputStream |
允许把数据字节向后推到流的首部 |
OutputStream (略)
OutputStream 的结构基本和 InputStream 是一样的。
2、 字符流
注:是在 jdk1.1 里面引进的,上面字节流是在 jdk1.0 引进的。当用于处理文本数据时,选择字符流比字节流更好。但对只出路基本数据类型的开发者,可以继续使用字节流。
所有的读操作都继承自一个公共超类 java.io.Reader 类。
所有的写操作都继承自一个公共超类 java.io.Writer 类。
同样 Reader 和 Writer 也是抽象类。
Reader 的常用的子类如下:
低级读取器 |
流的用途 |
CharArrayReader |
从字符数组中读取数据 |
InputStreamReader
|
|
FileReader ( InputStreamReader 的子类 )
|
从本地文件系统中读取字符序列 |
StringReader |
从字符串中读取字符序列 |
PipedReader |
从线程管道中读取字符序列 |
InputStreamReader 重点讲解:
InputStreamReader 是从输入流中读取数据,连接输入流于读取器。如:
new InputStreamReader(System.in)
构造方法:
InputStreamReader(InputStream)
用缺省的字符编码方式,创建一个 InputStreamReader 。
InputStreamReader (InputStream, String)
用已命名的字符编码方式,创建一个 InputStreamReader 。
常用的过滤器读取器:
过滤器读取器
|
流的用途 |
BufferedReader |
缓冲数据的访问,以提高效率 |
LineNumberReader ( BufferedReader 的子类) |
维护一个计数器,该计数器表明正在读取的是哪一行。 |
FilterReader (抽象类) |
提供一个类创建过滤器时可以扩展这个类 |
PushbackReader ( FilterReader 的子类) |
允许把文本数据推回到读取器的流中 |
这些过滤器读取器都可以传入一个 Reader 作为构造方法的参数。
Writer (略)
Writer 的结构基本和 Reader 是一样的。
字节流是最基本的,字符流是为了处理字符而提出来的。
new BufferedReader(new InputStreamReader(client.getInputStream()));解释:
client.getInputStream()是字节流;
InputStreamReader把字节流转换成字符流;
BufferedReader缓冲字符流,使得能够使用readline()等方法,直接读取一行。
发表评论
-
百万级访问量网站的技术准备工作
2010-12-29 19:35 1466当今从纯网站技术上来说,因为开源模式的发展,现在建一个小 ... -
Java EE Productivity Report 2011
2010-12-21 17:02 1638What happens when over 1000 J ... -
java.util.prefs.Preferences 简介
2010-04-23 14:07 4479Version 0.2 Cop ... -
An Introduction to LDAP
2010-04-13 16:24 1050An Introduction to LDAP Mich ... -
Java Interface 是常量存放的最佳地点吗?
2009-08-21 18:21 1264由于java interface中声明 ... -
Java的内存泄漏
2009-08-20 22:50 1296Java是如何管理内存 为了判断Java中是否有内 ... -
Transform XML into HTML using XSLT
2009-08-20 12:14 1834[howto.xml] <?xml versio ... -
eclipse 无法启动 JVM terminated. Exit code=-1
2009-08-09 13:52 2471eclipse 无法启动 JVM terminated. ... -
SDO ,WorkMananger,CommonJ overview
2009-07-06 10:51 1310Service Data Objects (SDO) -- P ... -
JAVA中多种计时器的比较与分析
2009-07-06 10:34 24099介绍 计时器可以提供运行基于时间的工作任务的功能,在计时器的管 ... -
Apache common io overview
2009-07-05 20:28 3881Apache 里面包含了太多有用的项目,值得我们仔细研究。恰当 ... -
Hashtable和HashMap的区别 Vector、ArrayList和List的异同(笔记)
2009-07-04 08:10 1908Hashtable和HashMap的区别:1.Hashtabl ... -
Java: System Properties
2009-05-25 11:10 2050From System Properties you ca ... -
SSL证书转换
2009-05-18 17:33 8521PKCS 全称是 Public-Key Cryptogra ... -
Keystores and Truststores
2009-05-18 14:39 2664Keystores and Truststores ... -
google app engine 是什么?
2009-04-08 18:50 3247Google是个真正能不断的 ... -
如何输入版权符号 copyright
2009-04-08 13:21 12294Unicode Character 'COPYRIGH ... -
深入浅出URL编码
2009-04-05 13:31 1126版权声明:如有转载请 ... -
字节流与字符流的区别
2009-04-04 12:13 15103最近在项目中遇到一个encoding的问题,记录一下。 ... -
深入了解Unicode
2009-04-02 00:31 1714Unicode (统一码 、万国 ...
相关推荐
Java标准IO流编程是Java平台基础且至关重要的部分,它提供了对输入输出数据进行操作的能力。I/O(Input/Output)涉及从外部源(如文件、网络连接等)读取数据,以及向这些源写入数据。在Java中,IO流被设计成一个流...
这份“java知识一览,所有知识汇总”将涵盖Java的核心概念、语法、类库以及最佳实践,旨在提供一个全面的学习资源。 一、Java基础 1.1 Java安装与环境配置:学习Java的第一步是下载JDK(Java Development Kit),...
这个“开发问题一览表,JDK API”很可能是对Java开发过程中常见问题的集合,以及JDK API相关知识的详细解释。下面将详细探讨JDK API的主要组件、常见问题及其解决方案。 1. **核心类库**:JDK API的核心类库包括了`...
【标题】"会当凌绝顶:Java开发修行实录ppt课件幻灯片"揭示了这是一份关于Java编程的深度学习资料,通过PPT的形式呈现,旨在帮助开发者提升Java...通过系统的研读和实践,相信你能够站在Java开发的巅峰,一览众山小。
DougLee可扩展的网络服务事件驱动Reactor模式基础版多线程版其他变体java.io包中分阻塞IOAPI一览Web服务器,分布式对象系统等等它们的共同特点Read请求解码请求报文业务处理编码响应报文发送响应实际应用中每一个...
在Java编程语言中,IO流(Input/Output Stream)是用来处理数据输入和输出的重要机制,尤其是在文件操作中。本文将详细解析文件操作字节流的常用方法,包括输入字节流`FileInputStream`和输出字节流`...
例如,对于`java.io.IOException`,百度翻译可能会将其翻译为“输入/输出异常”,便于开发者快速识别和处理与I/O操作相关的错误。 3. **谷歌翻译版本**: 虽然谷歌翻译可能不如有道和百度在中文本地化上做得那么精细...
import java.io.*; public class SerialPortReader { public static void main(String[] args) { try { CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = ...
### UML相关工具一览(2009年10月) #### Acceleo - **最新版本**: 2.5.0 - **厂商&地址**: 法国, [http://www.acceleo.org/pages/accueil/fr](http://www.acceleo.org/pages/accueil/fr) - **版权**: GPL - **UML...
### UML相关工具一览 #### 一、概述 UML(Unified Modeling Language,统一建模语言)是一种标准化的可视化建模语言,广泛应用于软件工程领域,用于描述软件系统的结构、行为以及它们之间的关系。UML工具是辅助...
import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet....
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader( process.getInputStream())); String freeSpace = "", line; while ((line = in.readLine()) != null) { if (line.length...
import java.io.*; import java.util.Date; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class FileUploadAction extends ActionSupport { ...
java异常处理的基础:<BR><BR>java的异常处理适用于在一个方法中能够检测出错误单不能处理错误的情况,这样方法将抛出一个异常(JAVA无法保证“存在”的异常处理程序能够处理某种异常,若“存在”,就“捕获”异常,...
import java.io.File; public class FileMove { / * 移动指定文件夹内的全部文件 * * @param fromDir 要移动的文件目录 * @param toDir 目标文件目录 * @throws Exception */ public static void fileMove...
4.6多线程与IO . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 98 4.7用RAII 包装文件描述符.. . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.8RAII 与fork() . . . . . . . . . ....