Java基础学习---I/O
(1)File-操作文件的类
基本介绍
IO包中唯一一个与文件本身有关的类就是File类,可以用来创建删除文件等等。特别注意的是File类的构造方法和构造器中的传递文件路径。
下面是源码中构造器的代码:
public File(String var1) {
if (var1 == null) {
throw new NullPointerException();
} else {
this.path = fs.normalize(var1);
this.prefixLength = fs.prefixLength(this.path);
}
}
注意点:
String类型的文件路径作为参数
public File(“d:\test.txt”);
这里的\表示的是一个\
常用的方法
- public static final String pathSeparator;:表示的是分隔符,也就是“;”
- public static final String separator;:表示的还是分隔符,不过是“\”
- public File(String var1) :File类的构造方法,用来创建File的对象,并且指定了文件的路径,File类的所有操作都面向这个文件
- public boolean createNewFile() throws IOException:这个方法被调用就会创建一个名为构造器中String的文件,又因为这个方法向上抛出异常,所以在调用的时候必须对异常进行捕捉或者向上抛出
- delete:删除文件
- exists:判断文件是否存在
- isDirectory:判断给定的路径是不是一个目录
- length:返回文件的大小
- public String[] list():把给定目录的全部内容,罗列放在一个String数组中,只是列出名称,不列出文件的内容
- public File[] listFiles() :列出给定目录的全部内容,放在一个File数组中,列出的是文件的完整路径
- mkdir() :创建一个目录
- renameTo(File var1):为已有的文件重新命名
代码示例
public class testFile01 {
public static void main(String[] args) {
File file=new File("C:\\Users\\Administrator\\Desktop\\IODemo"+File.separator+"Demo01");
if(file.exists()){
file.delete();
System.out.println("删除已存在的文件");
}else {
try {
file.createNewFile();
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
(2)RandomAccessFile类
基本介绍
File类的操作对象是文件本身,例如文件的创建和删除;而RandomAccessFile类的操作对象是文件里的内容,例如内容的编辑和删除。
常用的方法
- public RandomAccessFile(File var1, String var2) throws FileNotFoundException:接收File类的对象,和操作的文件路径,并且在设置的时候设置模式,r为只读,w为只写,rw为读和写
- public RandomAccessFile(String var1, String var2) throws FileNotFoundException:不再使用File类对象表示文件,而是直接输入了一个固定的文件路径
- public final void close() throws IOException:关闭操作
代码示例
(3)字节流与字符流基本操作
基本介绍
程序中所有的数据都是以流的方式进行传输或者保存的,当程序需要数据的时候就用输入流从文件往程序中输入数据,当程序需要把一些数据保存起来的时候,就要使用输出流从程序中往文件输出数据。
流的分类:
- 字节流:OutStream类输出,InputStream类输入
- 字符流:Writer类输出、Reader类输入
IO操作的步骤:
- 使用File类打开一个文件
- 通过字节流或字符流的子类指定输出的位置
- 进行读写操作
- 关闭输入输出