I/o流

I/O流:

流是java I/O的基础,是java语言对I/O的一个最基本的抽象。之所以采用流作为I/O醉基本的抽象,是因为流有两个最基本的特性:一是它含有流质,而是它有方法。在计算机中,流质就是数据,方向就是读或写。

文件类:

File file = new File("c:testTest.java");

绝对路径:

1.C:testTest.java从盘符开始找

2.从项目根目录开始找

相对路径:

当前编辑文件的路径相对于你要找到文件的路径。

文件类的一些方法:

boolean flag = file.exists(); 查找文件是否存在

file.createNewFile();创建新文件

file.delete(); 删除文件

file.getAbsolutePath(); 得到路径 返回String

file.getName(); 得到文件名

file.getParent(); 得到父路径

file.ifDirectory(); 判断是否是文件夹

 

List转换为指定类型的数组

String [] newFileNames = list.toArray(new String[list.size()]);

流的分类

按照方向划分:输入流、输出流

按照类型划分:字节流、字符流

按照操作方式划分:节点流、过滤流

转换流

 

字节流:

字节流用于处理二进制文件。所有字节流都继承与抽象类InputStream和OutputStream两个父类。其中InputStream为读取字节流的父类,OutputStream为写入字节流的父类。

InputStream方法

方法描述
int available() 返回可从该输入流中读取的字节数
void close() 关闭输入流,并释放所有与该流相关联的系统资源
abstract in read() 从输入流读取下一个字节。读取完毕,返回-1
int read(byte [] b) 从输入流读取一些字节,并将这些字节存入缓冲数组b,读取完毕,返回-1
int read(byte[] b,off,int len) 从输入流指定位置off开始读取数据的前len个字节,并将其读入字节数据中。读取完毕,返回-1
字符流:

字符流用于处理文本文件。所有字符流都继承于抽象类 Reader 和 Writer 两个父类。其中 Reader 为读取字符流的父类, Writer 为写入字符流的父类。

Reader与InputStream相似,用于从流中读取数据。Reader是以字符为单位操作流,常用的方法有:

方法 描述
int read() 从流中读取一个字符,并将其返回,读到末尾返回-1
int read(char[] buffer) 将流中的字符读到字符数组buffer中,返回读出的字符数
int read(char[] buffer , int off ,int len) 将流中指定位置off开始读取的前len个字符,并将其读入字节型数据中。读取完毕,返回-1
void close() 关闭输入流并释放所有与流相关联的系统资源

缓冲流:

1 FileInputStream fis = new FileInputStream("C:\test\Test.java");
2 BufferedInputStream bis = new BufferedInputStream(fis);

flush()方法能够冲洗,在关闭缓冲流的时候,会默认调用flush();

BufferedReader中有个方法,  readLine()是一行一行的读,更加方便。

 

原文地址:https://www.cnblogs.com/zhuhaorong/p/12038546.html