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

Java文件函数的使用:如何使用Java文件函数读写文件

发布时间:2023-06-04 13:23:52

Java文件函数是指Java语言中用于读写文件的函数,其常用的文件操作功能包括文件读写、文件复制、文件夹遍历、文件压缩等。在Java中,文件操作也是开发中常见的场景,因此了解Java文件函数的使用非常必要。

Java文件函数的使用

1.文件读取

在Java中,使用FileReader来读取文件内容,使用FileWriter来写入文件内容。示例代码如下:

try{
    FileReader fr=new FileReader("test.txt");//创建字符读入流对象
    char c[]=new char[1024];
    int len=fr.read( c );//将读到的数据保存到字符数组中,len代表读入数据的长度
    System.out.println(new String( c , 0 , len ));//将读入的数据转换成字符串并输出
    fr.close();
} catch (Exception e) {
    e.printStackTrace();
}

2.文件写入

Java中使用FileWriter类来写入文件,示例代码如下:

try {
    FileWriter fw = new FileWriter("test.txt");//创建字符写入流对象
    String info="这是写入的文件内容";//要写入的内容
    fw.write(info);//将内容写入文件
    fw.close();//关闭文件流
} catch (Exception e) {
    e.printStackTrace();
}

3.文件复制

通过Java文件函数的使用,我们可以实现文件复制功能,示例代码如下:

try {
    FileInputStream fis= new FileInputStream("test1.txt");//创建读入流对象
    FileOutputStream fos= new FileOutputStream("test2.txt");//创建写入流对象
    byte[] buf = new byte[1024];//创建缓存数组
    int readByte ;
    while ((readByte = fis.read(buf)) != -1) {//循环读取文件内容
        fos.write(buf, 0, readByte);//将读入的数据写入文件
    }
    fis.close();
    fos.close();//关闭流对象
} catch (Exception e) {
    e.printStackTrace();
}

4.文件夹遍历

Java文件函数还可以实现文件夹的遍历,示例代码如下:

public void listFile(File dir) {//定义方法
    if (dir.exists()) {
        if (dir.isDirectory()) {
            File[] files = dir.listFiles();
            for (int i = 0; i < files.length; i++) {
                File file = files[i];
                listFile(file);//递归调用
            }
        } else {
            System.out.println(dir.getAbsolutePath());//文件夹种的文件进行输出
        }
    } else {
        System.out.println("文件夹不存在");
    }
}

5.文件压缩

通过Java的文件函数,我们还可以实现文件的压缩功能,示例代码如下:

try {
    FileOutputStream fos= new FileOutputStream("test.zip");//创建压缩文件输出流对象
    ZipOutputStream zos = new ZipOutputStream(fos);//创建Zip输出流对象
    File file = new File("test");//需要压缩的文件夹
    String basePath= file.getName() ;
    compress(file,zos,basePath);//调用压缩方法
    fos.close();
    zos.close();//关闭流对象
} catch (Exception e) {
    e.printStackTrace();
}

private static void compress(File source, ZipOutputStream zos, String basePath) throws Exception {
    if (source.isDirectory()) {//如果是文件夹
        File[] files = source.listFiles();
        if (files.length == 0) {//空文件夹
            String zipName= basePath + File.separator + source.getName() + File.separator;
            zos.putNextEntry(new ZipEntry(zipName));
            zos.closeEntry();
        } else {//非空文件夹
            for (File file : files) {
                String filePath = file.getName();
                if (!basePath.equals("")) {
                    filePath = basePath + File.separator + filePath;
                }
                compress(file, zos, filePath);//递归压缩
            }
        }
    } else {//如果是文件
        String zipName = basePath +File.separator+ source.getName();
        zos.putNextEntry(new ZipEntry(zipName));//打入文件标记
        FileInputStream fis = new FileInputStream(source);//创建文件读取流对象
        byte[] b = new byte[1024 * 10];//定义读取缓存
        int len;
        while ((len = fis.read(b)) != -1) {//将文件内容写入Zip输出流
            zos.write(b, 0, len);
        }
        zos.closeEntry();//关闭压缩条目
        fis.close();//关闭文件读取流
    }
}

以上就是使用Java文件函数读写文件的方法和示例代码,开发者可以根据实际需要来选择相关的文件操作函数,以实现所需的应用程序功能。