- 浏览: 136386 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
winney117:
您好,我的import org.apache.ibatis.i ...
couchDB初级应用实例 -
liujiawinds:
wayneyang3 写道博主你好,不知道你有没有碰到这样的问 ...
couchDB启动报错 -
wayneyang3:
博主你好,不知道你有没有碰到这样的问题:我装完couchdb后 ...
couchDB启动报错 -
liujiawinds:
quan2hua 写道差点被你误导了,substring是不会 ...
内存泄露简介 -
quan2hua:
差点被你误导了,substring是不会内存泄露的 。
内存泄露简介
常用
(一)、字节流
1、java.io.InputStream abstract java.io.InputStream
此抽象类是表示字节输入流的所有类的超类。
需要定义 InputStream
的子类的应用程序必须始终提供返回下一个输入字节的方法。
子类1:java.io.FilterInputStream
FilterInputStream
包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream
类本身只是简单地重写那些将所有请求传递给所包含输入流的 InputStream
的所有方法。FilterInputStream
的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
子类11:java.io.BufferedInputStream
作为另一种输入流,BufferedInputStream
为添加了功能,即缓冲输入和支持 mark
和 reset
方法的能力。创建 BufferedInputStream
时即创建了一个内部缓冲区数组。读取或跳过流中的各字节时,必要时可根据所包含的输入流再次填充该内部缓冲区,一次填充多个字节。mark
操作记录输入流中的某个点,reset
操作导致在从所包含的输入流中获取新的字节前,再次读取自最后一次 mark
操作以来所读取的所有字节。
子类2:java.io.FileInputStream
FileInputStream
从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。
FileInputStream
用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用FileReader
。
其他子类:AudioInputStream, ByteArrayInputStream, InputStream, ObjectInputStream, PipedInputStream,SequenceInputStream, StringBufferInputStream
2、java.io.OutputStream abstract java.io.OutputStream
此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。
需要定义 OutputStream
子类的应用程序必须始终提供至少一种可写入一个输出字节的方法。
子类1:java.io.FilterOutputStream
此类是过滤输出流的所有类的超类。这些流位于已存在的输出流(基础 输出流)之上,它们将已存在的输出流作为其基本数据接收器,但可能直接传输数据或提供一些额外的功能。
FilterOutputStream
类本身只是简单地重写那些将所有请求传递给所包含输出流的 OutputStream
的所有方法。FilterOutputStream
的子类可进一步地重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
子类11:java.io.BufferedOutputStream
该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入基础输出流中,而不必为每次字节写入调用基础系统。
子类2:java.io.FileOutputStream
文件输出流是用于将数据写入 File
或 FileDescriptor
的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileOutputStream
用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用FileWriter
。
其他子类:ByteArrayOutputStream, ObjectOutputStream, OutputStream, PipedOutputStream
(二)、字符流
1、java.io.Reader abstract
用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。
子类1:java.io.BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和InputStreamReader)。例如,
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
可以对使用 DataInputStream 进行按原文输入的程序进行本地化,方法是用合适的BufferedReader 替换每个 DataInputStream。
子类2:java.io.InputStreamReader
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset
读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。如BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
子类21:java.io.FileReader
用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。
FileReader
用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream
。
其他子类: CharArrayReader, FilterReader, PipedReader, StringReader
2、java.io.Writer abstract
写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。
子类1:java.io.BufferedWriter
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
该类提供了 newLine() 方法,它使用平台自己的行分隔符概念,此概念由系统属性line.separator 定义。并非所有平台都使用新行符 ('\n') 来终止各行。因此调用此方法来终止每个输出行要优于直接写入新行符。
通常 Writer 将其输出立即发送到基础字符或字节流。除非要求提示输出,否则建议用BufferedWriter 包装所有其 write() 操作可能开销很高的 Writer(如 FileWriters 和OutputStreamWriters)。例如,
PrintWriter out
= new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
将缓冲 PrintWriter 对文件的输出。如果没有缓冲,则每次调用 print() 方法会导致将字符转换为字节,然后立即写入到文件,而这是极其低效的。
子类2:java.io.OutputStreamWriter
OutputStreamWriter 是字符流通向字节流的桥梁:使用指定的 charset
将要向其写入的字符编码为字节。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。
子类21:java.io.FileWriter
用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。
文件是否可用或是否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileWriter
用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream
。
其他子类: CharArrayWriter, FilterWriter, PipedWriter, PrintWriter, StringWriter
(三)和文件有关的
java.io.File
文件和目录路径名的抽象表示形式。
用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名 有两个组件:
- 一个可选的与系统有关的前缀 字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示Microsoft Windows UNC 路径名,以及
- 零个或更多字符串名称 的序列。
除了最后一个,抽象路径名中的每个名称代表一个目录;最后一个名称既可以代表目录,也可以代表文件。空的 抽象路径名没有前缀和名称序列。
java.io.FileDescriptor
文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或者字节的另一个源或接收者。文件描述符的主要实际用途是创建一个包含该结构的 FileInputStream
或 FileOutputStream
。
java.io.FilePermission
此类表示对文件和目录的访问。FilePermission 由文件名和对该路径名有效的操作集合组成。
(四)其他
java.lang.Object
java.io.OutputStream java.io.FilterOutputStream java.io.PrintStream
PrintStream
为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream
不会抛出 IOException
;而是,异常情况仅设置可通过checkError
方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream
;这意味着可在写入字节数组之后自动调用 flush
方法,可调用其中一个 println
方法,或写入一个新行字符或字节('\n'
)。
PrintStream
打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter
类。
java.lang.Object java.io.Writer java.io.PrintWriter
java.lang.Object java.io.Reader java.io.StringReader
其源为一个字符串的字符流。
java.lang.Object java.io.Writer java.io.StringWriter
一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串。
发表评论
-
内存泄露简介
2014-01-02 15:57 22411. 什么是内存泄露? 内存泄露: 对象不再被使用,但是 ... -
Log4j配置语句解释
2013-08-07 17:10 1209log4j ... -
Asprise OCR识别图片内容
2013-07-31 10:12 2062女朋友扫雷很厉害,我昨天又败给她了。 当时我就在想,j ... -
关于try catch finally执行顺序的一点疑问
2013-06-20 08:33 1040public class TryCatchOrder { ... -
Java operator precedence
2013-04-12 17:55 885Operator Description Lev ... -
ArrayList浅析
2013-01-16 16:47 816ArrayList是线性存储结构,底层实现基于数组, 跟 ... -
Java io 解析
2012-12-13 10:20 998简介 Reader和Writer类--- ... -
List的三种遍历方式
2012-12-12 12:39 1294第一种:不推荐 for(int i=0,len=li ... -
File里面的compareTo()方法
2012-12-12 10:30 1115public class Compare { ... -
istanceof 的作用和用法
2012-12-11 15:07 1143instanceof的作用是判断一个对象是否是后面类的实例。 ... -
Thread跟Runnable的区别
2012-12-01 18:51 1214Runnable是Thread的接口,在大多数情况下“推荐用接 ... -
事务的特性
2012-10-12 09:33 747事务(Transaction)是并发控制的单位,是用户定义的一 ... -
HashTable和HashMap的区别
2012-07-17 09:12 828转自:http://oznyang.iteye.com/ ... -
两数组求交集
2012-07-04 21:58 940import java.util.ArrayLis ... -
有关服务器,web 服务器,web容器的一点总结
2012-04-25 09:13 971所谓的服务器,广义上讲有很多的概念,硬件角度上说就是一台高性能 ... -
各种IO程序(适合初学者)
2012-04-23 19:33 854public class FilenameFilterTes ... -
java基础知识汇总
2012-04-21 11:34 8921、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主 ... -
Java中super的几种用法并与this的区别
2012-04-20 23:09 11021. 子类的构造函数如果要引用super的话,必须把s ... -
Java初学者都必须理解的六大问题
2012-04-19 22:36 876问题一:我声明了什么! String s = " ... -
使用java中的Date和Calendar类
2012-04-18 15:37 894Java 语言的Calendar(日历),Date(日期), ...
相关推荐
Java.io中还有专门针对非流式文件I/O的部分,这部分涵盖了文件的创建、删除、重命名等高级操作。`File`类帮助编写跨平台的代码,用于检查和操作文件和目录。 ### Java.nio简介 Java.nio(New I/O)是Java 1.4版本...
这是 IPinfo.io IP 地址 API 的官方 Java 客户端库,允许您查找自己的 IP 地址,或获取 IP 的以下任何详细信息: IP地理定位数据(城市、地区、国家、邮政编码、经纬度) ASN 信息(ISP 或网络运营商、关联域名和...
在客户端,你可以使用`socket.io-client`库,这个库通常用于JavaScript运行环境,如浏览器或React Native等,但也有针对Java和Android的实现,如你提到的`socket.io-client-0.5.0.jar`。 在Java或Android项目中,`...
这些库通常会提供API,让你能够轻松地与Socket.IO服务器进行交互。 1. **java-socket.io-client**:这是一个流行的Java实现,提供了与Node.js Socket.IO服务器交互的能力。为了使用这个库,你需要将对应的jar包添加...
在Android平台上进行串口通信开发时,常常会遇到需要与硬件设备进行低...为了使用这个库,你需要将其整合到你的Android Studio项目中,配置JNI路径,确保所有依赖项正确,然后在Java代码中调用相关的API进行串口操作。
在Java编程语言中,文件操作是程序开发中的基础部分,特别是在处理输入/输出(I/O)时。本资源“java_io.rar”提供了关于如何在Java中进行文件操作的示例代码,包括读取、移动、删除和复制文件等常见任务。我们将深入...
在Java编程环境中,进行串口通信时,常常会遇到一个问题:缺少`gnu.io`包,导致无法正常编译或运行程序。这个问题主要出现在使用RXTX库进行串口操作的项目中。RXTX是一个开源的Java库,它提供了与硬件进行串行通信的...
lumenworks.framework.io.dll就是这样一款跨语言的动态链接库(DLL),它专为C#、C++和Java等编程语言设计,同时也适用于数据爬取相关的应用。本文将深入探讨lumenworks.framework.io.dll的核心特性、使用场景以及与...
Java Socket.IO 0.8.3 是一个针对Java平台的实时通信库,它基于WebSocket协议,同时也支持多种其他传输方式,以确保数据在客户端和服务器之间的无缝交互。这个版本是通过Maven管理的,这意味着它可以方便地与其他...
#Cex.io Java API Cex.io API 的 Java 源文件和示例。 这是一个在 MIT 许可下的开源项目。 指数 下订单 获取未结订单 取消未结订单 获取账户哈希率 获取 Worker 哈希率 其他帮助 接触 Author : Zack Urben Contact...
Socket.IO的目标是提供一个跨平台、易于使用的API,使得开发者能够在各种浏览器和移动设备上实现WebSocket-like的通讯。WebSocket是一种在HTTP协议基础上的全双工通信协议,而Socket.IO不仅支持WebSocket,还通过...
JAVA API官方文档中文版软件包 java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image ...
`java.nio`包是Java的非阻塞I/O模型,提供了基于通道(Channel)和缓冲区(Buffer)的I/O操作,相比于传统的`java.io`包,`java.nio`在处理大容量数据时通常能获得更好的性能。此外,`java.net`包包含了网络通信相关...
import com.google.api.translate.Language; import com.google.api.translate.Translate; import java.io.*; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * . ...
该存储库包含用Java语言编写的Socket.IO客户端实现。 如果您不了解socket.io,则它基本上是一个旨在提供实时,双向和基于事件的通信的框架。 您可以访问以了解更多信息。 安装 您可以使用以下方法安装该库: Maven ...
javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/
`来使用Socket.IO客户端API。 2. **建立连接**: 要建立到Socket.IO服务器的连接,可以使用以下代码: ```java Socket socket = IO.socket("http://yourserver.com"); socket.connect(); ``` 这里"yourserver...
- **API**:Socket.IO提供简单易用的API,使得开发者可以方便地发送和接收消息。 - **应用**:常用于实时聊天应用、在线游戏、协作工具、实时数据分析等领域。 2. **Hibernate Search**: - **概述**:Hibernate...
这是一个开源项目,它实现了Java Communications API (javax.comm),使得Java开发者可以方便地访问和控制串行端口。这个库主要用于读写串行数据,配置波特率、奇偶校验、数据位和停止位等参数,对于设备控制、数据...
标签:controlplane、api、envoyproxy、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...