JAVA知识点梳理第五部分——JAVA数据流(文件)
2017-10-15 16:16
288 查看
JAVA整理知识点传送门:
JAVA知识点拉理第一部分——常规知识
JAVA知识点梳理第二部分——接口、内部类、异常等等
JAVA知识点梳理第三部分——图形用户界面GUI部分
JAVA知识点梳理第四部分——Swing控件
JAVA知识点梳理第五部分——JAVA数据流(文件)
JAVA知识点梳理第六部分——线程
JAVA知识点梳理第七部分——网络
数据流可以被分为输入数据流(input stream)和输出数据流(output stream);输入数据流只能读不能写,输出 数据流只能写不能读。
java.io 中的所有输入数据都是抽象类InputStream继承而来,并且实现了其中的所有方法,包括读取数据,标记位置,重置读写指针,获取数据量。从数据流中读取数据时,必须有一个数据源和数据流相连。
输入数据流的主要数据操作方法有:
以上三个函数提供访问数据流中的数据的方法,函数所读取的数据都默认为字节类型。其中最简单的是第一个read方法,它向输入流中读一个字节的二进制数据,然后以此数据为低位字节,微商一个全零字节,形成一个0~255之间的整数返回,当输入结束的时候,它会得到-1,标志数据流的结束。第二个read()方法将多个字节读到数组中,填满整个数组。第三个read()方法从输入流中读取长度为len的数据,从数组下标为off的位置开始放置读入的数据,读毕返回读取的字节数。
在实际应用中,为提高效率,读取数据时经常以系统允许的最大数据块长为单位读取。要与BufferedInputStream相连。
void close()
当结束对一个数据流的操作时要将其关闭。同时释放与该数据流相关的资源。用到的方法是close()。
int available()
该方法返回的是目前可以从字节中读取的字节数。
将字节i 写入数据流中。
void write(byte[]b)
将数组中的全部字节写入数据流。
void write(byte[]b,int off,int len)
将数组中的第off个字节开始的len个字节写入数据流。
在使用文件数据流进行I/O操作的时候,类似于FileInputStream的实例对象。如果指定的文件不存在,就会抛出
in
out
一般在关闭一个缓冲区输出流之前,应使用flush()方法,强制输出剩余数据,以确保缓冲区内的所有数据全部写入写出。
这一功能是通过java.io包中的ObjectInputStream和ObjectOutputStream两个类实现的。
创建File类的对象之后,可以使用相关方法获取文件的信息。
与文件名相关的方法:
文件测定方法:
常用文件信息和方法
目录工具
JAVA知识点拉理第一部分——常规知识
JAVA知识点梳理第二部分——接口、内部类、异常等等
JAVA知识点梳理第三部分——图形用户界面GUI部分
JAVA知识点梳理第四部分——Swing控件
JAVA知识点梳理第五部分——JAVA数据流(文件)
JAVA知识点梳理第六部分——线程
JAVA知识点梳理第七部分——网络
Java数据流
在JAVA中,把不同类型的输入输出源抽象为流(Strean),而其中输入或输出的数据称为数据流(data stream)。数据流的基本概念
数据流是一组有顺序的、有起点和终点的数据字节集合。数据流可以被分为输入数据流(input stream)和输出数据流(output stream);输入数据流只能读不能写,输出 数据流只能写不能读。
输入数据流
输入数据流是指只能读不能写的数据流,用于向计算机输入数据。java.io 中的所有输入数据都是抽象类InputStream继承而来,并且实现了其中的所有方法,包括读取数据,标记位置,重置读写指针,获取数据量。从数据流中读取数据时,必须有一个数据源和数据流相连。
输入数据流的主要数据操作方法有:
* int read(); * int read(byte[]b) * int read(byte []b,int off,int len)
以上三个函数提供访问数据流中的数据的方法,函数所读取的数据都默认为字节类型。其中最简单的是第一个read方法,它向输入流中读一个字节的二进制数据,然后以此数据为低位字节,微商一个全零字节,形成一个0~255之间的整数返回,当输入结束的时候,它会得到-1,标志数据流的结束。第二个read()方法将多个字节读到数组中,填满整个数组。第三个read()方法从输入流中读取长度为len的数据,从数组下标为off的位置开始放置读入的数据,读毕返回读取的字节数。
在实际应用中,为提高效率,读取数据时经常以系统允许的最大数据块长为单位读取。要与BufferedInputStream相连。
void close()
当结束对一个数据流的操作时要将其关闭。同时释放与该数据流相关的资源。用到的方法是close()。
int available()
该方法返回的是目前可以从字节中读取的字节数。
输出数据流
void write(int i)将字节i 写入数据流中。
void write(byte[]b)
将数组中的全部字节写入数据流。
void write(byte[]b,int off,int len)
将数组中的第off个字节开始的len个字节写入数据流。
基本直接数据流类
前面提到的InputStream和OutputStream两个类都是抽象类。在实际运用中,我们用到的都是他们的子类。文件数据流
文件数据流包括FileInputStream和FileOutputStream,这两个类用来进行IO处理,其数据源和终点源都应该是文件。在使用文件数据流进行I/O操作的时候,类似于FileInputStream的实例对象。如果指定的文件不存在,就会抛出
FileNotFoundException异常。对于类FileOutputStream的实例对象,如果指定的文件不存在,就会创建一个新的文件,如果文件存在,那么新写入的内容会覆盖原有数据。
过滤流
过滤流(filter)是另外一种数据流。一个过滤数据流在创建时与一个已经存在的数据流相连。因此在这样的数据流中读取数据时,它提供的是对一个原始输入数据流的内容进行了特定处理的数据。缓冲区数据流
缓冲区数据流有BufferedInputStream和BufferedOutputStream,他们都属于过滤器数据流,都是在数据流上增加了一个缓冲区。当读写数据时,数据以块为单位先进入缓冲区(块的大小可以自行设置),其后的读写操作则是作用于缓冲区。in
FileInputStream fis=new FileInputStream("myfile"); inputstream is=new BufferedInputStream(fis);
out
FileOutputStream fos=new FileOutputStream("myfile"); OutputStream os=new BufferedOutputStream(fos);
一般在关闭一个缓冲区输出流之前,应使用flush()方法,强制输出剩余数据,以确保缓冲区内的所有数据全部写入写出。
数据数据流
在前面提到的数据流中,处理的数据都是字节或者字节数组,这是进行数据传输系统默认的数据类型。DataInputStream和DataOutputStream就是这样的两个过滤器,可以用来读写Java基本类型。对象流
能够输入输出对象的流称为对象流。Java的数据流不仅能对基本数据类型进行操作,而且也提供吧对象写入文件数据流或从文件数据流中读出的功能。这一功能是通过java.io包中的ObjectInputStream和ObjectOutputStream两个类实现的。
文件的处理
File类
在对一个文件进行I/O操作之前,必须先获得有关这个文件的基本信息。创建File类的对象之后,可以使用相关方法获取文件的信息。
与文件名相关的方法:
String getName()_获取文件名 String getPath()_获取文件路径 String getAbsolutePath()_获取文件的绝对路径 String getPatent()_获取文件的父目录 boolean renameTo(File newName)_更改文件名
文件测定方法:
boolean exists()_文件对象是否存在 boolean canWrite()_对象是否可写 boolean canRead()_对象是否可读 boolean isFile()_对象文件是否是文件 boolean isDirectory()_对象文件是否是目录 boolean isAbsolute()_文件对象是否是绝对路径
常用文件信息和方法
long lastModified()_获取文件最后修改的时间 long length()_获取文件的长度 boolean delete()_删除文件对象指向的文件
目录工具
boolean mkdir()_创建新目录 boolean mkdirs()_创建新目录(一次性生成多个层次的子目录) String []list()_列出符合模式的文件名
相关文章推荐
- 简化 Ajax 和 Java 开发,第 1 部分: 用 JSP 标记文件动态生成 JavaScript 代码
- java 知识点总结 --java解析.mdb文件的表名
- Java基础部分知识点
- Java知识点之“写文件操作以及复制文件操作”
- Java文件读写数据流大全(InputStream、OutputStream、FileInpuStream)
- Java文件读写数据流大全(InputStream、OutputStream、FileInpuStream)
- [转] 应聘Java笔试时可能出现问题及其答案(第五部分)
- Core Java第十四章知识点总结——文件与I/O流
- 简化 Ajax 和 Java 开发,第 1 部分: 用 JSP 标记文件动态生成 JavaScript 代码
- java处理字符集-第二部分-文件字符集
- Java中 分割大文件以及合并部分文件的方法.
- java 文件操作知识点
- 在JavaScript中进行文件处理,第五部分:Blobs
- Java文件读写数据流大全(InputStream、OutputStream、FileInpuStream)
- 文件输入部分数据流——识别文件格式
- 简化 Ajax 和 Java 开发,第 3 部分: 基于 DOM、JavaScript 和 JSP 标记文件构建 UI 特性
- 数据文件结构分析——第五部分
- 用java实现部分文件读取与替换
- 简化 Ajax 和 Java 开发之第 4 部分:用 JSP 标记文件创建 JSF 样式的组件
- 2011东软校园招聘笔试题部分知识点总结——语言部分(JAVA)