JAVA IO 类库详解
JAVA IO类库详解
一、InputStream类
1、表示字节输入流的所有类的超类,是一个抽象类。
2、类的方法
方法 |
参数 |
功能详述 |
InputStream |
构造方法 |
|
available |
如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小。 |
|
read |
从输入流中读取数据的下一个字节 |
|
mark |
(int readlimit) |
在输入流中标记当前的位置 |
markSupported |
判断输入流是否支持mark()和reset()方法 |
|
reset |
将流重新定位到流最后一次调用mark方法时的位置 |
|
skip |
(long n) |
跳过或丢弃输入流中的n个字节 |
二、OutputStream类
1、表示字节输出流的所有类的超类,是一个抽象类。
2、类的方法
方法 |
参数 |
功能详述 |
OutputStream |
构造器 |
|
write |
将指定的字节写入此输出流 |
|
flush |
涮新输出流并强制写出所有缓冲的输出字节 |
|
close |
关闭输出流 |
|
三、Reader类
1、读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。
2、类的方法
方法 |
参数 |
功能详述 |
字段lock |
用于同步针对流的操作对象 |
|
Reader |
构造器,同步其自身 |
|
Reader |
(Object lock) |
构造器,同步给定的对象 |
read |
读取单个字符 |
|
mark |
标记流中的当前位置 |
|
markSupporte |
判断流是否支持mark方法 |
|
ready |
判断是否准备读取此流 |
|
reset |
重置流 |
|
skip |
跳过n个字符 |
|
close |
关闭 |
|
四、Writer类
1、写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。
2、类的方法
方法 |
参数 |
功能详述 |
字段lock |
同步流的操作对象 |
|
Writer |
构造器,同步其自身 |
|
Writer |
(Object lock) |
构造器,同步给定的对象 |
write |
写当个字符 |
|
append |
将指定字符添加到流中 |
|
flush |
涮新流的缓冲 |
|
close |
关闭 |
|
五、File类
1、文件和目录路径名的抽象表示形式。
2、类的方法
方法 |
参数 |
功能详述 |
|||
字段pathSeparatorChar |
路径的斜线分隔符,字符表示 |
||||
字段pathSeparator |
路径的斜线分隔符,字符串表示 |
||||
字段separatorChar |
路径的冒号分隔符,字符表示 |
||||
字段separator |
路径的冒号分隔符,字符串表示 |
||||
File |
(File parent, String child) |
根据父文件的抽象路径和子路径创建实例 |
|||
File |
(String pathnaem) |
通过将给定路径名字字符串转换为抽象路径来创建实例 |
|||
File |
(String parent, String child) |
根据父路径和子路径来创建实例 |
|||
File |
(URI uri) |
通过将给定的 file: URI 转换为一个抽象路径名来创建实例 |
|||
创建文件或目录 |
|||||
createNewFile |
不存在具有此抽象路径名指定名称的文件时,创建一个空文件 |
||||
createTempFile |
(String prefic, String suffix) |
在默认文件目录中,根据前缀和后缀创建一个空文件 |
|||
createTempFile |
(String prefic, String suffix, File directory) |
在指定目录中,根据前缀和后缀创建一个空文件 |
|||
获取抽象路径 |
|||||
getAbsoluteFile |
返回抽象路径名的绝对路径名。 |
||||
getAbsolutePath |
返回抽象路径名的绝对路径名字符串。 |
||||
getCanonicalFile |
返回抽象路径名的规范形式。 |
||||
getCanonicalPath |
返回抽象路径名的规范路径名字字符串。 |
||||
getFreeSpace |
返回抽象路径名指定分区中未分配的字节数。 |
||||
getName |
返回抽象路径名表示的文件或目录的名称。 |
||||
getParent |
返回抽象路径的父目录的路径名字符串。 |
||||
getParentFile |
返回抽象路径的父目录的抽象路径名。 |
||||
getPath |
将抽象路径名转换为一个路径名字符串。 |
||||
getTotalSpace |
返回抽象路径名指定的分区大小。 |
||||
getUsableSpace |
返回抽象路径名指定的分区上可用于此虚拟机的字节数。 |
||||
设置抽象路径 |
|||||
setExecutable |
(boolean executable) |
设置抽象路径名所有者执行权限 |
|||
setExecutable |
(boolean executable, Boolean ownerOnly) |
设置抽象路径名所有者或所有用户的执行权限 |
|||
setLastModified |
(long time) |
设置抽象路径名的指定的文件或目录的最后一次修改时间 |
|||
setReadable |
(boolean readable) |
设置抽象路径名的所有者或所有用户的读权限。 |
|||
setReadable |
(boolean readable, Boolean ownerOnly) |
设置抽象路径名的所有者或所有用户的读权限。 |
|||
setReadOnly |
设置路径或文件为读权限 |
||||
setWritable |
(Boolean writable) |
设置抽象路径名的所有者或所有用户的写权限 |
|||
setWritable |
(Boolean writable, Boolean ownerOnly) |
设置抽象路径名的所有者或所有用户的写权限 |
|||
抽象路径其他操作 |
|||||
compareTo |
(File pathname) |
按字母顺序比较两个抽象路径名 |
|||
delete |
删除抽象路径名表示的文件或目录 |
||||
deleteOnExit |
虚拟机终止时,请求删除抽象路径名表示的文件或目录 |
||||
equals |
(Object obj) |
测试此抽象路径名与给定对象是否相等。 |
|||
exists |
测试此抽象路径名表示的文件或目录是否相等。 |
||||
hashCode |
计算抽象路径名的哈希码。 |
||||
isAbsolute |
判断抽象路径名是否为绝对路径名 |
||||
isDirectory |
判断抽象路径名表示的文件是否是一个目录。 |
||||
isFile |
判断抽象路径名表示的文件是否是一个标准文件。 |
||||
isHidden |
判断抽象路径名表示的文件是否是一个隐藏文件。 |
||||
lastModified |
返回抽象路径名表示的文件最后一次被修改的时间。 |
||||
length |
返回由此抽象路径名表示的文件的长度。 |
||||
list |
返回抽象路径名下文件和目录的字符串。 |
||||
listFiles |
返回抽象路径名下文件。 |
||||
listRoots |
列出可用的文件系统跟。 |
||||
mkdir |
创建抽象路径名指定的目录。 |
||||
mkdirs |
创建抽象路径名指定的目录,包括所有必须但不存在的父目录。 |
||||
renameTo |
(File dest) |
重新命名抽象路径名表示的文件。 |
|||
toString |
返回抽象路径名的字符串。 |
||||
toURI |
构造抽象路径名的file:URI |
||||
六、RandomAccessFile类
1、支持对随机访问文件的读取和写入。
2、类的方法
方法 |
参数 |
功能详述 |
RandomAccessFile |
(File file, String mode) |
创建文件随机读写流。 |
RandomAccessFile |
(String name, String mode) |
创建文件随机读写流,文件由指定名称指定。 |
getChannel |
返回与此文件关联的唯一FileChannel对象 |
|
getFD |
返回与此关联的不透明文件描述符对象。 |
|
getFilePointer |
返回此文件中的当前偏移量。 |
|
read |
读 |
|
length |
返回文件长度 |
|
readBoolean |
从文件读取一个boolean |
|
readByte |
从文件读取一个有符号的八位值 |
|
readChar |
从文件读取一个字符 |
|
readDouble |
从文件读取一个double |
|
readFloat |
从文件读取一个Float |
|
readFully |
从当前文件指针开始读数据 |
|
readInt |
从文件读取一个有符号32位整数 |
|
readLine |
从文件读取文本的下一行 |
|
readLong |
从文件读取一个有符号的64为整数 |
|
readShort |
从文件读取一个有符号的16为整数 |
|
readUnsignedByte |
从文件读取一个有符号的8为整数 |
|
readUnsignedShort |
从文件读取一个有符号的16为整数 |
|
readUTF |
从文读取一个字符串 |
|
seek |
设置文件的偏移量(文件开头) |
|
setLength |
设置文件的长度 |
|
skipBytes |
尝试跳过输入的 n 个字节以丢弃跳过的字节 |
|
write |
写入数据 |
|
writeBoolean |
向文件写入一个boolean |
|
writeByte |
按单字节向文件写入byte |
|
writeBytes |
按字节序列向文件写入 |
|
writeChar |
按双字节向文件写入char |
|
writeChars |
按双字符序列向文件写入 |
|
writeDouble |
向文件写入 |
|
writeFloat |
向文件写入 |
|
writeInt |
按4字节向文件写入int |
|
writeLong |
按8字节向文件写入long |
|
writeShort |
按2字节向文件写入short |
|
writeUTF |
使用 modified UTF-8 编码以与机器无关的方式将一个字符串写入该文件。 |
|
close |
关闭 |
|
七、InputStreamReader类
1、字节转换字符流类。
2、类方法
方法 |
参数 |
功能详述 |
|
InputStreamReader |
(InputStream in) |
默认字符集 |
|
InputStreamReader |
(InputStream in, Charset cs) |
给定字符集 |
|
InputStreamReader |
(InputStream in, CharsetDecoder dec) |
给定解码器 |
|
InputStreamReader |
(InputStream in, String charsetName) |
指定字符集 |
|
getEncoding |
返回流使用的字符编码的名称。 |
||
read |
读取 |
||
ready |
判断流是否已经准备好用于读取。 |
||
八、OutputStreamWriter类
1、字符转换字节流类。
2、类方法
方法 |
参数 |
功能详述 |
||
OutputStreamWriter |
(OutputStream out) |
默认字符编码 |
||
OutputStreamWriter |
(OutputStream out, Charset cs) |
给定字符集 |
||
OutputStreamWriter |
(OutputStream out, CharsetEncoder enc) |
给定解码器 |
||
OutputStreamWriter |
(OutputStream out, String charsetName) |
指定字符集 |
||
getEncoding |
返回流使用的字符编码的名称 |
|||
write |
写入 |
|||
flush |
刷新流的缓冲 |
|||
close |
关闭流 |
|||
九、ByteArrayInputStream
1、内存输入流
2、类方法
方法 |
参数 |
功能详述 |
|
ByteArrayInputStream |
(byte[] buf) |
buf为流缓冲区数组 |
|
ByteArrayInputStream |
(byte[] buf, int off, int len) |
buf为流缓冲区数组 |
|
字段buf |
由流的创建者提供的byte数组。 |
||
字段count |
比输入流缓冲区中最后一个有效字符的索引大一的索引。 |
||
字段mark |
流中当前标记的位置。 |
||
字段pos |
要输入流缓冲区中读取的下一个字符的索引。 |
||
available |
返回可从此输入流读取(或跳过)的剩余字节数 |
||
read |
从输入流中读取数据 |
||
skip |
从输入流中跳过n个输入字节 |
||
reset |
将缓冲区的位置重置为标记位置 |
||
mark |
设置流中的当前标记位置 |
||
markSupported |
判断流是否支持mark / reset |
||
clsose |
关闭 |
||
十、ByteArrayOutputStream类
方法 |
参数 |
功能详述 |
||
ByteArrayOutputStream |
创建一个新的byte数组输出流 |
|||
ByteArrayOutputStream |
(int size) |
创建一个新的指定大小的byte数组输出流 |
||
字段buf |
存储数据的缓冲区 |
|||
字段count |
缓冲区中的有效字节数 |
|||
write |
将字节写入输出流 |
|||
writeTo |
将byte数组写入输出流 |
|||
toString |
使用默认的字符集,通过解码字节将缓冲区内容转换为字符串。 |
|||
toByteArray |
创建一个新分配的byte数组 |
|||
size |
返回缓冲区的当前大小 |
|||
reset |
将count字段重置为0,丢弃输出流中目前已积累的所有输出。 |
|||
close |
关闭 |
|||
十一、PipedInputStream类
1、管道输入流,用于接收从另一个现场输出的数据。
2、类方法
方法 |
参数 |
功能详述 |
|
PipedInputStream |
创建未连接的流 |
||
PipedInputStream |
(int pipeSize) |
创建未连接的流,并且设置缓冲区大小 |
|
PipedInputStream |
(PipedOutputStream src) |
创建连接的流 |
|
PipedInputStream |
(PipedOutputStream src, int size) |
创建连接的流,并且设置缓冲区大小 |
|
字段buffer |
数据循环缓冲区 |
||
字段in |
接收下一个数据将保存的位置索引 |
||
字段out |
数据读取位置的前一个位置索引 |
||
字段PIPE_SIZE |
数据缓冲区的默认大小 |
||
read |
读取流中的下一个数据 |
||
receive |
接收数据字节 |
||
connect |
连接管道输出流 |
||
available |
返回可以不受阻塞地从此输入流中读取的字节数。 |
||
close |
关闭 |
||
十二、PipedOutputStream类
1、管道输出流。用于将线程的数据输出到另一个线程中。
2、类方法
方法 |
参数 |
功能详述 |
PipedOutputStream |
创建未连接的流 |
|
PipedOutputStream |
(PipedInputStream snk) |
创建连接的流 |
write |
将数据写入传送的管道输出流。 |
|
flush |
刷新流并强制写出所有缓冲的输出字节。 |
|
connect |
将流连接到指定管道输入流 |
|
close |
关闭 |
JAVA IO 类库详解的更多相关文章
- Java io流详解四
转载地址:http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html 写在前面:本文章基本覆盖了java IO的全部内容,jav ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- Java IO最详解
初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见 ...
- Java io流详解二
原文地址https://www.cnblogs.com/xll1025/p/6418766.html 一.IO流概述 概述: IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间 ...
- 《Java基础知识》Java IO流详解
Java IO概念 1. 用于设备之间的数据传输. 2. Java 将操作数据流的功能封装到了IO包中. 3. 数据流流向分:输入流和输出流,操作对象为文件. 4. 流按照操作数据分:字节流(通用)和 ...
- Java IO流详解(六)——转换流
转换流也是一种处理流,它提供了字节流和字符流之间的转换.在Java IO流中提供了两个转换流:InputStreamReader 和 OutputStreamWriter,这两个类都属于字符流.其中I ...
- Java IO流详解(五)——缓冲流
缓冲流也叫高效流,是处理流的一种,即是作用在流上的流.其目的就是加快读取和写入数据的速度. 缓冲流本身并没有IO功能,只是在别的流上加上缓冲效果从而提高了效率.当对文件或其他目标频繁读写或操作效率低, ...
- Java IO流详解(四)——字符流Reader和Writer
前面一章介绍了字节流的使用,提到了字节流在处理utf-8编码的中文可能会出现乱码的情况(其他编码的中文同样会出现乱码),所以Java针对这一情况提供了字符流. 但是字符流只能处理字符,不能用来处理 . ...
- Java IO流详解(三)——字节流InputStream和OutPutStream
我们都知道在计算机中,无论是文本.图片.音频还是视频,所有的文件都是以二进制(字节)形式存在的,IO流中针对字节的输入输出提供了一系列的流,统称为字节流.字节流是程序中最常用的流.在JDK中,提供了两 ...
随机推荐
- XCode6之后预编译文件的创建
首先,在你的项目创建一个.pch预编译头文件(一直点Next)
- (转)android Fragments详解一:概述
Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你 ...
- < java.util >-- Set接口
Set接口中的方法和Collection中方法一致的.Set接口取出方式只有一种,迭代器. |--HashSet:底层数据结构是哈希表,线程是不同步的.无序,高效: HashSet集合保证元素唯一性: ...
- C++ STL find
find 函数,复杂度O(n) 涉及一些 泛型编程 #include <iostream> #include <string.h> #include <string> ...
- loadView, viewDidLoad 快速使用
一 loadView: 在每次访问 UIViewController时,且其 view = nil 时,会调用这个方法,所以大家在开发中想自己设置 view 的可以用这个方法,在这个方法中自定义 v ...
- JPA学习---第十二节:JPA中的联合主键
1.定义实体类,代码如下: (1).将联合主键放到一个类中,代码如下: package learn.jpa.entity; import java.io.Serializable; import ja ...
- 20145120 《Java程序设计》第7周学习总结
20145120 <Java程序设计>第7周学习总结 教材学习内容总结 Lambda表达式 例:Comparator<String> byLength = (name1, na ...
- VS2013 help viewer搜索结果显示源码以及桌面独立运行help viewer
安装好VS2013后,启动help viewer2.1在搜索栏中搜搜时结果会出现HTML源码. 要解决这个问题先来看看MINE,即Multipurpose Internet Mail Extensio ...
- Liferay IDE3.1 M1的一些新功能
定于11月发布的Liferay IDE提供了一些让人期许的功能 1. code upgrade tools 这个工具将会帮助你把liferay 6.2的项目升级为7.0的项目.下面列举其主要功能 1. ...
- Visual Studio 2012 [ADO.NET 实体数据模型]丢失没有的解决方法
首先打开控制面板,看是否已经安装EF,如果已经安装,先卸载,然后,首先打开安装包,找到/packages/EFTools目录下的EFTools.msi,将它们复制自己计算机的某一目录下,例如:C:\t ...