`
liujiawinds
  • 浏览: 131935 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java.io部分API

    博客分类:
  • java
 
阅读更多

常用
(一)、字节流
1java.io.InputStream   abstract  java.io.InputStream

此抽象类是表示字节输入流的所有类的超类。

需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法。

子类1java.io.FilterInputStream

FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream 类本身只是简单地重写那些将所有请求传递给所包含输入流的 InputStream 的所有方法。FilterInputStream 的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。

 

子类11java.io.BufferedInputStream

作为另一种输入流,BufferedInputStream 为添加了功能,即缓冲输入和支持 mark  reset 方法的能力。创建 BufferedInputStream 时即创建了一个内部缓冲区数组。读取或跳过流中的各字节时,必要时可根据所包含的输入流再次填充该内部缓冲区,一次填充多个字节。mark 操作记录输入流中的某个点,reset 操作导致在从所包含的输入流中获取新的字节前,再次读取自最后一次 mark 操作以来所读取的所有字节。

 

子类2java.io.FileInputStream

FileInputStream 从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。

FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流请考虑使用FileReader

其他子类:AudioInputStreamByteArrayInputStreamInputStreamObjectInputStreamPipedInputStream,SequenceInputStreamStringBufferInputStream

 

2java.io.OutputStream  abstract java.io.OutputStream

此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。

需要定义 OutputStream 子类的应用程序必须始终提供至少一种可写入一个输出字节的方法。

子类1java.io.FilterOutputStream

此类是过滤输出流的所有类的超类。这些流位于已存在的输出流(基础 输出流)之上,它们将已存在的输出流作为其基本数据接收器,但可能直接传输数据或提供一些额外的功能。

FilterOutputStream 类本身只是简单地重写那些将所有请求传递给所包含输出流的 OutputStream的所有方法。FilterOutputStream 的子类可进一步地重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。

子类11java.io.BufferedOutputStream

该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入基础输出流中,而不必为每次字节写入调用基础系统。

 

子类2java.io.FileOutputStream

文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流请考虑使用FileWriter

 

其他子类:ByteArrayOutputStreamObjectOutputStreamOutputStreamPipedOutputStream

 

(二)、字符流

1java.io.Reader   abstract

       用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int)  close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。

子类1java.io.BufferedReader

从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。

通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader InputStreamReader)。例如,

 BufferedReader in

   = new BufferedReader(new FileReader("foo.in"));

 

将缓冲指定文件的输入。如果没有缓冲,则每次调用 read()  readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的

可以对使用 DataInputStream 进行按原文输入的程序进行本地化,方法是用合适的BufferedReader 替换每个 DataInputStream

子类2java.io.InputStreamReader
        InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。如BufferedReader in
   = new BufferedReader(new InputStreamReader(System.in));
子类21java.io.FileReader

用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader

FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream

其他子类: CharArrayReaderFilterReaderPipedReaderStringReader

 

2java.io.Writer  abstract

       写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)flush()  close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。

子类1java.io.BufferedWriter

将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。

该类提供了 newLine() 方法,它使用平台自己的行分隔符概念,此概念由系统属性line.separator 定义。并非所有平台都使用新行符 ('\n') 来终止各行。因此调用此方法来终止每个输出行要优于直接写入新行符。

通常 Writer 将其输出立即发送到基础字符或字节流。除非要求提示输出,否则建议用BufferedWriter 包装所有其 write() 操作可能开销很高的 Writer(如 FileWriters OutputStreamWriters)。例如,

 PrintWriter out

   = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));

 

将缓冲 PrintWriter 对文件的输出。如果没有缓冲,则每次调用 print() 方法会导致将字符转换为字节,然后立即写入到文件,而这是极其低效的。

子类2java.io.OutputStreamWriter

OutputStreamWriter 是字符流通向字节流的桥梁:使用指定的 charset 将要向其写入的字符编码为字节。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。

子类21java.io.FileWriter

用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter

文件是否可用或是否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

FileWriter 用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream

其他子类: CharArrayWriterFilterWriterPipedWriterPrintWriterStringWriter

 

(三)和文件有关的

java.io.File

文件和目录路径名的抽象表示形式。

用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名 有两个组件:

  1. 一个可选的与系统有关的前缀 字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示Microsoft Windows UNC 路径名,以及
  2. 零个或更多字符串名称 的序列。

除了最后一个,抽象路径名中的每个名称代表一个目录;最后一个名称既可以代表目录,也可以代表文件。空的 抽象路径名没有前缀和名称序列。

 

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

一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串。

 

分享到:
评论

相关推荐

    这是 IPinfo.io IP 地址 API 的官方 Java 客户端库,允许您查找自己的 IP 地址,或获取 IP 的以下任何

    这是 IPinfo.io IP 地址 API 的官方 Java 客户端库,允许您查找自己的 IP 地址,或获取 IP 的以下任何详细信息: IP地理定位数据(城市、地区、国家、邮政编码、经纬度) ASN 信息(ISP 或网络运营商、关联域名和...

    socket.io API文档

    socket.io API文档

    cex.io-api-java:Cex.io Java API

    #Cex.io Java API Cex.io API 的 Java 源文件和示例。 这是一个在 MIT 许可下的开源项目。 指数 下订单 获取未结订单 取消未结订单 获取账户哈希率 获取 Worker 哈希率 其他帮助 接触 Author : Zack Urben Contact...

    JAVA API官方中文版手册chm文件文档

    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 ...

    i18n Tools helper

    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; /** * . ...

    socket.io-client:Java语言的Socket.io客户端实现

    该存储库包含用Java语言编写的Socket.IO客户端实现。 如果您不了解socket.io,则它基本上是一个旨在提供实时,双向和基于事件的通信的框架。 您可以访问以了解更多信息。 安装 您可以使用以下方法安装该库: Maven ...

    api-0.1.27-API文档-中文版.zip

    标签:controlplane、api、envoyproxy、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    javax.mail.jar-Java发送邮件API

    javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/

    java.nio API详解

    在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来...

    JAVA_API1.8中文文档(CHM版).rar

    中文版,平时开发超实用工具。 Java 2 Platform 软件包 java.applet 提供创建 applet...java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 ......

    spring-boot-autoconfigure-2.2.8.RELEASE-API文档-中文版.zip

    赠送jar包:spring-boot-...标签:springframework、boot、spring、autoconfigure、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,

    jenkins所需的插件等

    本人的一片博客,http://blog.csdn.net/jackieriver/article/details/78882194,所需要的一些插件

    jetty-io-9.4.43.v20210629-API文档-中英对照版.zip

    包含翻译后的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 类层次图,以清晰明了的形式标明了java io中各种类的关系

    socket.io-java:socket.io-java

    Socket.IO-Client for Java socket.io-java-client 是 for Java 的一个易于使用的实现。 它使用作为传输后端,但很容易编写您自己的传输。 请参阅下面的说明。 XHR-Transport 也包括在内。 但它在当前状态下不起...

    JAVA_API1.6文档(中文)

    java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供...

    android sdk platform-tools下的api文件夹中的annotations.zip

    编译时如果遇到以下报错:app:lintVitalRelease[Fatal Error] :43:105: 与...java.io.IOException: Could not parse XML from annotations/android/widget/annotations.xml 请将本文件替换SDK目录下的/platform-tools/a

    java API中的IO

    可能会有些不全,也希望大神们能够指出,刚刚学习,有太多的东西不懂,见谅~

    java-etherscan-api:for EtherScan.io API的完善Java库

    库支持所有可用的复仇网络的etherscan.io所有可用EtherScan API调用 相依性 :rocket: 玛文 < groupId>com.github.goodforgod</ groupId> < artifactId>java-etherscan-api < version>1.1.0 Gradle ...

    api-0.1.27-API文档-中英对照版.zip

    标签:controlplane、api、envoyproxy、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...

Global site tag (gtag.js) - Google Analytics