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

Java文件操作函数:读写文件、文件管理等操作

发布时间:2023-05-21 15:26:21

在Java中进行文件操作需要用到File类,这个类提供了文件的基本操作方法,包括文件的读取、写入、复制、删除等。在使用File类前,需要先导入"java.io"包。下面对常用的文件操作函数进行介绍。

1. 文件读取操作

Java中读取文件的方式有很多,可以使用InputStream、Reader、Scanner等方式进行文件读取操作。下面以使用Scanner类的方式进行文件读取为例:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileReadDemo {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(new File("file.txt"));
            while (scanner.hasNextLine()) {
                System.out.println(scanner.nextLine());
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,使用Scanner类读取名为“file.txt”的文件,调用hasNextLine()方法判断是否还有下一行数据,如果有,调用nextLine()方法读取一行数据并输出。最后调用Scanner的close()方法关闭文件。

2. 文件写入操作

Java中写入文件的方式有很多,可以使用OutputStream、Writer、PrintWriter等方式进行文件写入操作。下面以使用PrintWriter类的方式进行文件写入为例:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class FileWriteDemo {
    public static void main(String[] args) {
        try {
            PrintWriter writer = new PrintWriter(new File("file.txt"));
            writer.println("Hello, World!");
            writer.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,使用PrintWriter类写入数据到名为“file.txt”的文件,调用println()方法将参数写入文件,最后调用PrintWriter的close()方法关闭文件。

3. 文件复制操作

Java中可以使用FileInputStream和FileOutputStream类进行文件复制。下面以使用FileInputStream类和FileOutputStream类进行文件复制为例:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileCopyDemo {
    public static void main(String[] args) {
        try {
            FileInputStream inputFile = new FileInputStream(new File("source.txt"));
            FileOutputStream outputFile = new FileOutputStream(new File("destination.txt"));
            int data;
            while ((data = inputFile.read()) != -1) {
                outputFile.write(data);
            }
            inputFile.close();
            outputFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,使用FileInputStream读取名为“source.txt”的文件,使用FileOutputStream写入到名为“destination.txt”的文件中,循环读取文件的每个字节并写入到目标文件中。

4. 文件删除操作

Java中可以使用File类进行文件删除操作。下面以使用File类进行文件删除为例:

import java.io.File;

public class FileDeleteDemo {
    public static void main(String[] args) {
        File file = new File("file.txt");
        if (file.exists()) {
            file.delete();
            System.out.println("文件删除成功!");
        } else {
            System.out.println("文件不存在!");
        }
    }
}

上述代码中,判断名为“file.txt”的文件是否存在,如果存在,则调用delete()方法进行删除,如果不存在则输出文件不存在的提示。

5. 文件管理操作

除了基本的文件读写和删除操作,Java中的File类还提供了一些文件管理操作,比如获取文件大小、创建目录、遍历目录等。下面以获取文件大小和遍历目录为例:

import java.io.File;

public class FileManagerDemo {
    public static void main(String[] args) {
        // 获取文件大小
        File file = new File("file.txt");
        if (file.exists()) {
            long size = file.length();
            System.out.println("文件大小为:" + size + "字节");
        } else {
            System.out.println("文件不存在!");
        }

        // 遍历目录
        File dir = new File(".");
        if (dir.isDirectory()) {
            File[] files = dir.listFiles();
            for (File f : files) {
                if (f.isFile()) {
                    System.out.println(f.getName() + ":" + f.length() + "字节");
                }
            }
        }
    }
}

上述代码中,通过使用File类的length()方法获取文件大小,使用listFiles()方法获取目录下的所有文件和子目录,使用isFile()方法判断是文件还是目录,使用getName()方法获取文件名。遍历目录是一个比较常见的操作,特别是在需要处理一个目录下的所有文件时。

总结

Java的文件操作功能非常强大,在开发中常常会用到。掌握这些基本的文件读写、复制、删除、管理操作,可以为日后的开发打下坚实的基础。