zpssit 2015-03-11 07:11 采纳率: 0%
浏览 681

jsp读取CSV文件如何替换csv文件?

我遇到一个问题,csv文件内容如下:

car1,18499,Active,PreActive,
car2,Active,PreActive,
car3,21138,Active,40712,PreActive,
car4,Active,PreActive,

我想在jsp中显示

car1 car2 car3 car4
18499 21138

40712

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 11:53
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你可以使用Apache Commons CSV库来处理CSV文件。以下是一个简单的示例:

    import org.apache.commons.csv.CSVFormat;
    import org.apache.commons.csv.CSVParser;
    import org.apache.commons.csv.CSVRecord;
    
    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    import java.io.FileReader;
    import java.util.List;
    
    public class Main {
        public static void main(String[] args) throws Exception {
    
            String csvFilePath = "/path/to/your/csv/file.csv";
            HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    
            // 获取CSV文件的行数和列数
            int rowCount = 0;
            List<CSVRecord> records = null;
            try (FileReader fileReader = new FileReader(csvFilePath)) {
                CSVParser parser = CSVFormat.DEFAULT.parse(fileReader);
                records = parser.getRecords();
                rowCount = records.size();
            }
    
            // 创建一个CSV格式的字符串
            StringBuilder sb = new StringBuilder("car1,18499,Active,PreActive,");
            for (int i = 0; i < rowCount; i++) {
                sb.append(records.get(i).get(0)).append(",").append(records.get(i).get(1)).append(",");
            }
            sb.deleteCharAt(sb.length() - 1);
    
            // 将字符串写入到响应中
            request.setAttribute("result", sb.toString());
        }
    }
    

    在这个例子中,我们首先获取了CSV文件的行数和列数,然后创建了一个StringBuilder对象,用于构建我们需要的输出字符串。然后,我们遍历CSV记录,并将每条记录的第一列添加到StringBuilder对象中。最后,我们将StringBuilder对象的内容写入到响应中。

    注意:你需要根据你的实际情况修改这个例子中的路径和字段名称。

    评论

报告相同问题?

悬赏问题

  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台
  • ¥15 php查询mysql数据库并显示至下拉列表中
  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态