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

函数库中的Java文件操作函数

发布时间:2023-05-21 03:49:23

在Java开发中,文件操作是必不可少的一个模块。而对于文件的读、写、删除、复制、移动等操作,我们不必手写代码实现,Java提供了相应的函数帮助我们完成这些操作。以下是一个Java文件操作函数库,总结了经常使用的文件操作函数,包括常见的操作方法和示例代码。

1. 文件的读取

1.1 以字节为单位读取文件内容

public static void readFileByByte(String fileName) {
    FileInputStream fis = null;
    try {
        fis = new FileInputStream(fileName);
        int len = 0;
        while ((len = fis.read()) != -1) {
            System.out.print((char)len);
        }
        fis.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

readFileByByte("C:/example.txt");

1.2 以字符为单位读取文件内容

public static void readFileByChars(String fileName) {
    FileReader reader = null;
    try {
        reader = new FileReader(fileName);
        int len = 0;
        char[] buffer = new char[1024];
        while ((len = reader.read(buffer)) != -1) {
            System.out.println(new String(buffer, 0, len));
        }
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

readFileByChars("C:/example.txt");

1.3 以行为单位读取文件内容

public static void readFileByLines(String fileName) {
    BufferedReader br = null;
    try {
        br = new BufferedReader(new FileReader(fileName));
        String line = "";
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
        br.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

readFileByLines("C:/example.txt");

2. 文件的写入

2.1 以字节为单位写入文件内容

public static void writeFileByByte(String fileName, String content) {
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(fileName);
        fos.write(content.getBytes());
        fos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

writeFileByByte("C:/example.txt", "hello world");

2.2 以字符为单位写入文件内容

public static void writeFileByChars(String fileName, String content) {
    FileWriter writer = null;
    try {
        writer = new FileWriter(fileName);
        writer.write(content.toCharArray());
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

writeFileByChars("C:/example.txt", "hello world");

2.3 追加内容到文件末尾

public static void appendFile(String fileName, String content) {
    FileWriter writer = null;
    try {
        writer = new FileWriter(fileName, true);
        writer.write(content);
        writer.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

appendFile("C:/example.txt", "123");

3. 文件的删除

public static void deleteFile(String fileName) {
    File file = new File(fileName);
    if (file.exists()) {
        file.delete();
    }
}

示例:

deleteFile("C:/example.txt");

4. 文件的复制

public static void copyFile(String sourceFileName, String targetFileName) {
    try {
        FileInputStream fis = new FileInputStream(sourceFileName);
        FileOutputStream fos = new FileOutputStream(targetFileName);
        int len = 0;
        byte[] buffer = new byte[1024];
        while ((len = fis.read(buffer)) != -1) {
            fos.write(buffer, 0, len);
        }
        fis.close();
        fos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例:

copyFile("C:/source.txt", "C:/target.txt");

5. 文件的移动

public static void moveFile(String sourceFileName, String targetFileName) {
    File file = new File(sourceFileName);
    file.renameTo(new File(targetFileName));  
}

示例:

moveFile("C:/source.txt", "D:/target.txt");

6. 文件的属性

6.1 获取文件名

public static String getFileName(String path) {
    File file = new File(path);
    if (file.exists()) {
        return file.getName();
    }
    return null;
}

示例:

getFileName("C:/example.txt");

6.2 获取文件大小

public static long getFileSize(String path) {
    File file = new File(path);
    if (file.exists()) {
        return file.length();
    }
    return 0;
}

示例:

getFileSize("C:/example.txt");

6.3 获取文件最近修改时间

public static String getFileLastModifiedTime(String path) {
    File file = new File(path);
    if (file.exists()) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date(file.lastModified());
        return format.format(date);
    }
    return null;
}

示例:

getFileLastModifiedTime("C:/example.txt");

总结:

以上是一个基本的Java文件操作函数库,主要包括文件的读取、写入、删除、复制、移动等常用操作,各个函数也有相应的示例代码。在实际的Java开发中,对于不同的文件操作需求,我们可以根据这个函数库进行相应的调整和扩展,提高代码重用性和编码效率。