Java文件操作的常用函数和方法
Java是一种面向对象的编程语言,拥有丰富的标准类库,其中包括许多用于文件操作的类和方法。在Java中,可以使用File类来进行文件和目录的创建、删除、复制等操作,使用BufferedReader和BufferedWriter类来读写文件,使用RandomAccessFile类来对文件进行随机访问,使用FileReader和FileWriter类来读写字符流等。下面将介绍Java中文件操作的常用函数和方法。
1. File类
File类是Java中用于表示文件和目录的抽象类。它提供了丰富的方法,可以进行文件和目录的创建、删除、重命名、遍历等操作。以下是File类中常用的方法:
(1)创建文件和目录:
File file = new File("test.txt"); // 创建一个名为test.txt的文件
File dir = new File("C:/data"); // 创建一个名为data的目录
dir.mkdirs(); // 创建多级目录,如果目录已经存在则不会重复创建
(2)判断文件和目录是否存在:
File file = new File("test.txt");
File dir = new File("C:/data");
System.out.println(file.exists()); // 判断文件是否存在
System.out.println(dir.exists()); // 判断目录是否存在
(3)重命名文件和目录:
File file = new File("test.txt");
file.renameTo(new File("new_test.txt")); // 将test.txt重命名为new_test.txt
File dir = new File("C:/data");
dir.renameTo(new File("C:/new_data")); // 将data目录重命名为new_data
(4)删除文件和目录:
File file = new File("test.txt");
file.delete(); // 删除文件
File dir = new File("C:/data");
dir.delete(); // 删除目录
(5)遍历目录:
File dir = new File("C:/data");
File[] files = dir.listFiles(); // 获取目录下的所有文件和子目录
for (File f : files) {
if (f.isFile()) {
System.out.println(f.getName()); // 打印文件名
} else if (f.isDirectory()) {
System.out.println(f.getName() + " [目录]"); // 打印目录名
}
}
(6)获取文件和目录的属性:
File file = new File("test.txt");
System.out.println(file.isFile()); // 是否为文件
System.out.println(file.isDirectory()); // 是否为目录
System.out.println(file.getName()); // 获取文件名
System.out.println(file.getPath()); // 获取文件路径
System.out.println(file.getAbsolutePath()); // 获取文件绝对路径
System.out.println(file.lastModified()); // 获取文件最后修改时间
System.out.println(file.length()); // 获取文件大小
2. BufferedReader和BufferedWriter类
BufferedReader和BufferedWriter是Java中用于读写文件的字符缓冲流。它们可以提高文件读写的效率,并且支持一次读写多个字符。
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line;
while ((line = br.readLine()) != null) { // 每次读取一行数据
System.out.println(line);
}
br.close(); // 关闭流
BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
bw.write("Hello, World!"); // 写入数据
bw.newLine(); // 换行
bw.write("Java is great!");
bw.close(); // 关闭流
3. RandomAccessFile类
RandomAccessFile是Java中用于对文件进行随机访问的类。可以通过该类来读写文件中任意位置的数据。
(1)在文件末尾添加数据:
RandomAccessFile raf = new RandomAccessFile("test.txt", "rw");
raf.seek(raf.length()); // 定位到文件末尾
raf.writeBytes("Hello, World!");
raf.close();
(2)读取文件中的某个位置的数据:
RandomAccessFile raf = new RandomAccessFile("test.txt", "r");
raf.seek(5); // 定位到文件中的第6个字符
byte[] buf = new byte[10];
raf.read(buf, 0, 10); // 读取10个字节的数据
System.out.println(new String(buf));
raf.close();
4. FileReader和FileWriter类
FileReader和FileWriter是Java中用于读写文件的字符流。它们支持一次读写一个字符。
FileReader fr = new FileReader("test.txt");
int c;
while ((c = fr.read()) != -1) { // 读取一个字符
System.out.print((char) c);
}
fr.close(); // 关闭流
FileWriter fw = new FileWriter("test.txt");
fw.write("Hello, World!"); // 写入数据
fw.close(); // 关闭流
以上就是Java文件操作的常用函数和方法,通过掌握这些方法,可以轻松实现对文件和目录的创建、删除、读写等操作。
