I/O流
一、File类
在JAVA的编程过程中,我们可以将字符存入数组或者List等集合中使用,这极大的方便了我们对数据的操作。但使用数组或者集合时,程序关闭后数据便被系统回收了,这时我们便需要一个类将重要的数据以文档的方式保存起来,以便下次程序运行时调用此文档。
1.1 构造方法:File file = new File(string);
public class ReaderTest {
public static void main(String[] args) {
File file = new File("D:/test.txt"); //构造方法
}
}
1.2 常用方法
File类,即文件和目录路径名的抽象表示.
1.2.1 createNewFile();当且仅当具有该名称的文件尚不存在时,在目标地址创建路径名所表示的文件.
public class ReaderTest {
public static void main(String[] args) {
File file = new File("D:/test.txt");//构造方法
try {
file.createNewFile(); //创建方法
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
注:在直接使用createNewFile时,系统会报错,因为当文件已存在时,此方法有可能会抛出异常,需要使用try{ }catch( ){ }抓取异常.
1.2.2 exists();测试此抽象路径名表示的文件或目录是否存在.
1.2.3 getName();返回由此抽象路径名表示的文件或目录的名称.
1.2.4 length();返回由此抽象路径名表示的文件的长度.
1.2.5 getName();获取文件或文件夹的名称,不包含上级路径.
1.2.6 getPath();返回绝对路径,可以是相对路径,但是目录要指定.
注:Flie类还有很多的方法,这里仅列举几个较常见的方法,详情请看图表.
二、字节流与字符流
File类可以看作是对文件的读取,但不提供文件实际操作方法.而当你需要对文件进行具体操作时,便需要使用IO流.
2.1 字节流与字符流
IO流有两种形式--字节流与字符流.
2.1.1字节流
计算机存储的是二进制数据,而1字节表示8个二进制.字节可以表示所有的文件(包括但不仅限于视频、音频、文档等).
字节流应用于所有的文件,但其读取效率低于字符流.
2.1.2 字符流
字符流立于字节流基础之上,是通过编码对字节流进行转换后的流.既经过编码的字节流.
字符流仅应用于纯文本文档,但其效率高于字节流.
三、字节流的使用
3.1 字节流的文件读取方法---InputStream
这个抽象类是表示输入字节流的所有类的超类.
3.1.1 InputStream的常用方法
返回值 方法 说明
Void close() 关闭此输入流并释放与流相关联的任何系统资源
Void mark() 标记此输入流中的当前位置
Abstract in tread() 从输入流读取数据的下一个字节
void reset() 将此流重新定位到上次在此输入流上调用mark方法时的位置
3.1.2 InputStream的子类
InputStream | FileInputStream | AudioInputStream |
ByteArrayInputStream | StringBufferInputStream | ObjectInputStream |
FilterInputStream | PipedInputStream | SequenceInputStream |