21xrx.com
2024-11-05 19:29:02 Tuesday
登录
文章检索 我的文章 写文章
Java实现导出文件功能示例
2023-06-15 12:33:25 深夜i     --     --
Java 导出文件 CSV文件

在Java开发中,我们常常需要将数据导出为文件,比如将Excel表格中的数据导出为CSV文件。那么,如何在Java中快速实现文件导出功能呢?本文将为大家演示一个Java实现导出文件功能的示例。

首先,我们需要创建一个导出文件的工具类ExportUtil。这个工具类中包含了一个静态方法exportFile,该方法接收三个参数:文件路径、文件名和文件内容。其中,文件路径和文件名合并后形成了完整的文件地址,文件内容则是一个字符串,包含了需要导出的内容。

下面是ExportUtil类的代码:


import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

public class ExportUtil {

  

  /**

   * 导出文件

   *

   * @param filePath 文件路径

   * @param fileName 文件名

   * @param content 文件内容

   * @return boolean 导出结果

   */

  public static boolean exportFile(String filePath, String fileName, String content) {

    boolean flag = false;

    File file = new File(filePath + "/" + fileName);

    if (!file.getParentFile().exists()) {

      file.getParentFile().mkdirs();

    }

    try (FileOutputStream fos = new FileOutputStream(file);

      OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

      BufferedWriter bw = new BufferedWriter(osw);) {

      bw.write(content);

      bw.flush();

      flag = true;

    } catch (IOException e) {

      e.printStackTrace();

    }

    return flag;

  }

}

接下来,我们可以使用导出工具类来实现实际的导出功能。比如,我们可以创建一个导出CSV文件的示例代码:


import java.util.List;

public class Main {

  

  public static void main(String[] args) {

    List userList = getUserList();

    StringBuilder sb = new StringBuilder();

    sb.append("姓名,年龄,性别\n");

    for (User user : userList) {

      sb.append(user.getName()).append(",")

       .append(user.getAge()).append(",")

       .append(user.getGender()).append("\n");

    }

    ExportUtil.exportFile("D:/csv", "user.csv", sb.toString());

  }

  

  private static List getUserList() {

    // TODO: 实际应用中应从数据库或其他数据源中读取数据

    return List.of(new User("张三", 20, "男"),

            new User("李四", 25, "女"),

            new User("王五", 30, "男"));

  }

}

class User

  private String name;

  private int age;

  private String gender;

  

  // 省略构造方法、getter和setter

上面的代码中,我们首先获取了一个用户列表,然后使用StringBuilder拼接CSV文件格式的字符串内容。最后,调用ExportUtil的exportFile方法将字符串内容导出为D:/csv/user.csv文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复