java的I/O
java的I/O是针对于程序来讲的,对于程序来说输入(Input)和对于程序来说输出(Output)。那么就需要一个介质存放相关的记录,这样的存放相关记录的介质就是文件。
在java中如何访问文件的属性,在java中只需要调用相应的类即可java.io.File类。
File类
File类的基本信息如下所示:
java.io.File类是用来访问文件的属性,其创建格式如下:
- 创建文件对象:
File file = new File(String pathname);
pathname代表的是文件的路径,例如
E:\\file\OVA\Centos7.ova或者是E:/file/OVA/Centos7.ova
File类的常用方法
package cn.zhz.Test;
import java.io.File;
import java.io.IOException;
//文件操作:文件创建 获取文件的相关信息 删除文件
public class FileDemo {
//创建文件
public void create(File file) {
if (!file.exists()) {
//如果文件不存在,就创建文件
try {
file.createNewFile();
System.out.println("文件已经创建");
} catch (IOException e) {
e.printStackTrace();
}
}
}
//获取文件的相关信息
public void showFileInfo(File file) {
if (file.exists()) {
//文件存在
if (file.isFile()) {
//是文件
System.out.println("文件名称:" + file.getName());
System.out.println("文件相对路径:" + file.getPath());
System.out.println("文件绝对路径:" + file.getAbsolutePath());
System.out.println("文件大小为:" + file.length() + "个字节");
}
if (file.isDirectory()) {
//是目录
System.out.println("此文件是目录");
}
} else {
//文件不存在
System.out.println("文件不存在");
}
}
//删除文件
public void delete(File file) {
if (file.exists()) {
file.delete();
System.out.println("文件已经删除");
}
}
}
package cn.zhz.Test;
import java.io.File;
public class FileDemoTest {
public static void main(String[] args) {
FileDemo fileDemo = new FileDemo();
File file = new File("E:\\file\\code\\java\\javase\\OOP\\day01\\src\\cn\\zhz\\Test\\1.txt");
// fileDemo.create(file);
// fileDemo.showFileInfo(file);
fileDemo.delete(file);
}
}
流
java可以通过流来进行读写文件,流是一组有序的数据序列,以先进先出的方式发送信息的通道。
java流的分类
按照流向区分:
-
输出流
OutputStream和Writer作为基类
-
输入流
InputStream和Reader作为基类
输入和输出流是相对于计算机内存来说的
按照处理数据单元划分:
-
字节流
字节输入流InputStream基类
字符输出流OutputStream基类
-
字符流
字符输入流Reader基类
字符输出流Writer基类
理数据单元划分:
-
字节流
字节输入流InputStream基类
字符输出流OutputStream基类
-
字符流
字符输入流Reader基类
字符输出流Writer基类
字节流是8位的通用字节流,字符流是16位的Unicode字符流。
java的文件读写操作(字节流)