欢迎访问宙启技术站
智能推送

Java文件操作的常用函数和方法

发布时间:2023-06-21 10:24:05

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文件操作的常用函数和方法,通过掌握这些方法,可以轻松实现对文件和目录的创建、删除、读写等操作。