- 浏览: 131935 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
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 21881. 什么是内存泄露? 内存泄露: 对象不再被使用,但是 ... -
Log4j配置语句解释
2013-08-07 17:10 1178log4j ... -
Asprise OCR识别图片内容
2013-07-31 10:12 1959女朋友扫雷很厉害,我昨天又败给她了。 当时我就在想,j ... -
关于try catch finally执行顺序的一点疑问
2013-06-20 08:33 1003public class TryCatchOrder { ... -
Java operator precedence
2013-04-12 17:55 833Operator Description Lev ... -
ArrayList浅析
2013-01-16 16:47 776ArrayList是线性存储结构,底层实现基于数组, 跟 ... -
Java io 解析
2012-12-13 10:20 946简介 Reader和Writer类--- ... -
List的三种遍历方式
2012-12-12 12:39 1253第一种:不推荐 for(int i=0,len=li ... -
File里面的compareTo()方法
2012-12-12 10:30 1069public class Compare { ... -
istanceof 的作用和用法
2012-12-11 15:07 1106instanceof的作用是判断一个对象是否是后面类的实例。 ... -
Thread跟Runnable的区别
2012-12-01 18:51 1178Runnable是Thread的接口,在大多数情况下“推荐用接 ... -
事务的特性
2012-10-12 09:33 712事务(Transaction)是并发控制的单位,是用户定义的一 ... -
HashTable和HashMap的区别
2012-07-17 09:12 786转自:http://oznyang.iteye.com/ ... -
两数组求交集
2012-07-04 21:58 901import java.util.ArrayLis ... -
有关服务器,web 服务器,web容器的一点总结
2012-04-25 09:13 928所谓的服务器,广义上讲有很多的概念,硬件角度上说就是一台高性能 ... -
各种IO程序(适合初学者)
2012-04-23 19:33 808public class FilenameFilterTes ... -
java基础知识汇总
2012-04-21 11:34 8331、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主 ... -
Java中super的几种用法并与this的区别
2012-04-20 23:09 10191. 子类的构造函数如果要引用super的话,必须把s ... -
Java初学者都必须理解的六大问题
2012-04-19 22:36 818问题一:我声明了什么! String s = " ... -
使用java中的Date和Calendar类
2012-04-18 15:37 825Java 语言的Calendar(日历),Date(日期), ...
相关推荐
这是 IPinfo.io IP 地址 API 的官方 Java 客户端库,允许您查找自己的 IP 地址,或获取 IP 的以下任何详细信息: IP地理定位数据(城市、地区、国家、邮政编码、经纬度) ASN 信息(ISP 或网络运营商、关联域名和...
socket.io API文档
#Cex.io Java API Cex.io API 的 Java 源文件和示例。 这是一个在 MIT 许可下的开源项目。 指数 下订单 获取未结订单 取消未结订单 获取账户哈希率 获取 Worker 哈希率 其他帮助 接触 Author : Zack Urben Contact...
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 ...
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 ...
标签:controlplane、api、envoyproxy、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/
在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来...
中文版,平时开发超实用工具。 Java 2 Platform 软件包 java.applet 提供创建 applet...java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 ......
赠送jar包:spring-boot-...标签:springframework、boot、spring、autoconfigure、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,
本人的一片博客,http://blog.csdn.net/jackieriver/article/details/78882194,所需要的一些插件
包含翻译后的API文档:jetty-io-9.4.43.v20210629-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.eclipse.jetty:jetty-io:9.4.43.v20210629; 标签:eclipse、jetty、中英对照文档、jar包、java; ...
java IO 类层次图,以清晰明了的形式标明了java io中各种类的关系
Socket.IO-Client for Java socket.io-java-client 是 for Java 的一个易于使用的实现。 它使用作为传输后端,但很容易编写您自己的传输。 请参阅下面的说明。 XHR-Transport 也包括在内。 但它在当前状态下不起...
java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供...
编译时如果遇到以下报错:app:lintVitalRelease[Fatal Error] :43:105: 与...java.io.IOException: Could not parse XML from annotations/android/widget/annotations.xml 请将本文件替换SDK目录下的/platform-tools/a
可能会有些不全,也希望大神们能够指出,刚刚学习,有太多的东西不懂,见谅~
库支持所有可用的复仇网络的etherscan.io所有可用EtherScan API调用 相依性 :rocket: 玛文 < groupId>com.github.goodforgod</ groupId> < artifactId>java-etherscan-api < version>1.1.0 Gradle ...
标签:controlplane、api、envoyproxy、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...