I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如
Linux
系统 [1]
,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。
概述
输入:将文件以数据流的形式读取到Java程序中
输出:通过Java程序将数据流写到文件中
1、 IO是指Input/Output,即输入和输出Input指把数据从外部读到内存(磁盘、网络—>>>内存)
Output指把数据从内存读到外部(内存—>>>磁盘文件、网络)
2、代码是在内存中运行的,数据必须读进内存才能处理。
3、IO流单向顺序读写,它以byte(字节)为最小单位,因此也称字节流
4、在Java中,InputStream代表输入字节流,OuputStream代表输出字节流,这是最基本的两种IO流。
使用
File类
介绍
java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
File对象可以作为参数传递给流的构造器
FileInputStream fin = null;
FileOutputStream fout = null;
try {
fin = new FileInputStream(new File("E:\\CODE\\review\\javaReview\\data\\01.jpg"));
fout = new FileOutputStream(new File("E:\\CODE\\review\\javaReview\\data\\02.jpg"));
byte[] buff = new byte[1024];
int len;
while ((len = fin.read(buff)) != -1){
fout.write(buff,0, len);
fout.flush();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
fin.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
}