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

Java中常用的文件操作函数

发布时间:2023-06-06 05:48:15

Java中文件操作函数非常丰富,包括文件的创建、删除、复制、移动、打开、读写等多种操作。下面介绍一些常用的文件操作函数。

1. 文件创建

File类提供了多种创建文件的方法,其中最常用的是File.createNewFile()方法。该方法返回一个布尔值,表示文件是否创建成功。

示例代码:

File file = new File("test.txt");
try {
    if (file.createNewFile()) {
        System.out.println("文件创建成功!");
    } else {
        System.out.println("文件已存在!");
    }
} catch (IOException e) {
    System.out.println("文件创建失败!");
    e.printStackTrace();
}

2. 文件删除

File类提供了delete()方法用于删除文件或目录。如果是删除目录,则必须先清空目录中的文件和子目录。

示例代码:

File file = new File("test.txt");
if (file.delete()) {
    System.out.println("文件删除成功!");
} else {
    System.out.println("文件不存在或删除失败!");
}

3. 文件复制

可以使用Java的输入输出流将一个文件内容复制到另一个文件中。也可以使用Apache Commons IO库中的FileUtils.copyFile()方法快速实现文件复制。

示例代码:

File srcFile = new File("src.txt");
File destFile = new File("dest.txt");
try {
    FileInputStream fis = new FileInputStream(srcFile);
    FileOutputStream fos = new FileOutputStream(destFile);
    byte[] buffer = new byte[1024];
    int len;
    while ((len = fis.read(buffer)) != -1) {
        fos.write(buffer, 0, len);
    }
    fis.close();
    fos.close();
    System.out.println("文件复制成功!");
} catch (IOException e) {
    System.out.println("文件复制失败!");
    e.printStackTrace();
}

4. 文件移动

可以使用Java的输入输出流将一个文件内容复制到另一个文件中。也可以使用Apache Commons IO库中的FileUtils.moveFile()方法快速实现文件移动。

示例代码:

File srcFile = new File("src.txt");
File destFile = new File("dir/dest.txt");
try {
    FileInputStream fis = new FileInputStream(srcFile);
    FileOutputStream fos = new FileOutputStream(destFile);
    byte[] buffer = new byte[1024];
    int len;
    while ((len = fis.read(buffer)) != -1) {
        fos.write(buffer, 0, len);
    }
    fis.close();
    fos.close();
    srcFile.delete();
    System.out.println("文件移动成功!");
} catch (IOException e) {
    System.out.println("文件移动失败!");
    e.printStackTrace();
}

5. 文件打开

File类提供了多个方法用于打开文件,例如FileInputStream、FileOutputStream、RandomAccessFile等。其中最常用的是FileReader和FileWriter。这两个类是字符文件的输入输出流,可以方便地读写文本文件。

示例代码:

File file = new File("test.txt");
try {
    FileReader reader = new FileReader(file);
    FileWriter writer = new FileWriter("copy.txt");
    int len;
    char[] buffer = new char[1024];
    while ((len = reader.read(buffer)) != -1) {
        writer.write(buffer, 0, len);
    }
    reader.close();
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

6. 文件读写

Java提供了多种读写文件的方式,包括输入输出流、缓冲流、字符流和字节流等。其中最常用的是BufferedReader和BufferedWriter。这两个类是字符文件的输入输出流,可以方便地读写文本文件。

示例代码:

File file = new File("test.txt");
try {
    BufferedReader reader = new BufferedReader(new FileReader(file));
    BufferedWriter writer = new BufferedWriter(new FileWriter("copy.txt"));
    String line;
    while ((line = reader.readLine()) != null) {
        writer.write(line);
        writer.newLine(); // 换行
    }
    reader.close();
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

总之,Java中的文件操作函数非常丰富,根据不同的需求可以选择不同的函数实现。需要注意的是,文件操作可能会产生异常,因此应该在代码中处理异常或使用异常处理机制。