You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何将for循环生成的随机数据输出为CSV文件?

Java生成CSV文件实现方案

核心思路

  • 采用JDK自带的BufferedWriter实现文件写入,无需引入第三方依赖,适配你现有代码的改造成本极低
  • 使用try-with-resources语法自动管理文件流,不需要手动关流,避免资源泄漏
  • 原有循环的逻辑完全不用改,仅需把控制台打印的内容替换为写入文件流的操作即可,还可以按需补充CSV表头行

改后完整代码

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class ItemID extends getRandom {

    public static void main(String[] args) {
        // 指定输出的CSV文件路径,默认生成在项目根目录
        String csvFilePath = "items.csv";
        
        // 自动关流的写法,不需要手动调用close方法
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(csvFilePath))) {
            // 可选:写入CSV表头,方便后续读取识别字段
            writer.write("I_IM_ID,I_NAME,I_PRICE,I_DATA");
            writer.newLine();
            
            int I_IM_ID; //取值范围1 - 10000
            double I_PRICE; //取值范围1.00 - 100.00 
            String I_NAME, I_DATA; //I_NAME为14-24位随机字符串;I_DATA为26-50位字符串
            
            for(int i = 0; i < 10; i++) {
                I_IM_ID = getRandomInteger(1,10000);
                I_PRICE = getRandomDouble(1,100);
                I_NAME = getAlphaNumericString(28);
                I_DATA = getAlphaNumericString(28);
                // 原来的控制台打印替换为写入文件
                String line = I_IM_ID +","+ I_NAME +","+ I_PRICE +","+I_DATA;
                writer.write(line);
                writer.newLine();
                // 保留控制台打印也可以,方便调试
                System.out.println(line);
            }
            System.out.println("CSV文件生成成功,路径:" + csvFilePath);
        } catch (IOException e) {
            System.err.println("文件写入失败:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

注意事项

  • 如果你的随机生成字符串可能包含逗号、双引号特殊字符,需要给字段值套双引号转义,避免CSV格式错乱,示例写法:String line = I_IM_ID +",\""+ I_NAME +"\","+ I_PRICE +",\""+I_DATA + "\"";
  • 想要自定义文件保存位置,直接把csvFilePath的值改成绝对路径即可,比如Windows下写"D:\\data\\test.csv",Linux/macOS下写"/Users/xxx/Documents/items.csv"

内容的提问来源于stack exchange,提问作者Cole Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:36:06