java csv 追加_如何在Java中添加一个包含CSV数据的列

基于@plirke示例代码和他的帮助,我编写了一个最终的工作代码。在这里分享它,这样它可能对有类似需求的人有用。

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Random;

public class Demo1 {

public static String getRandomNumber() {

String CHARS = "1234567890";

StringBuilder random = new StringBuilder();

Random rnd = new Random();

while (random.length() < 18) // length of the random string.

{

int index = (int) (rnd.nextFloat() * CHARS.length());

random.append(CHARS.charAt(index));

}

String finaldata = random.toString();

return finaldata;

}

public static void main(String[] args) throws IOException {

File sourceCsvFile = null;

File finalCsvFile = null;

// String sourceCsvFileName = "";

sourceCsvFile = new File("C:\\MyData\\Input.csv");

finalCsvFile = new File("C:\\MyData\\Input_1.csv");

String line = "";

String cvsSplitBy = ",";

BufferedWriter writer = new BufferedWriter(new FileWriter(finalCsvFile));

try (BufferedReader br = new BufferedReader(new FileReader(sourceCsvFile))) // read the actual Source downloaded csv file

{

line = br.readLine(); // read only first line

String newFileLine = line + cvsSplitBy + "HashValue"; // append "," and new column

writer.write(newFileLine); // will be written as first line in new csv

writer.newLine(); // go to next line for writing next lines

while ((line = br.readLine()) != null) // this loop to write data for all lines except headers

{

newFileLine = line + cvsSplitBy + getRandomNumber(); // will add random numbers for each row

writer.write(newFileLine);

writer.newLine();

}

}

writer.close();

if(finalCsvFile.exists() && finalCsvFile.length() > 0)

{

System.out.println("New File with HashValue column created...");

if(sourceCsvFile.delete())

{

System.out.println("Old File deleted successfully...");

}

else

{

System.out.println("Failed to delete the Old file...");

}

}

else if (!finalCsvFile.exists())

{

System.out.println("New File with HashValue column not created...");

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

案例|自建or现成工具?小型创业团队敏捷研发探索

简介&#xff1a; 实践和踩坑建议。 我是刘永良&#xff0c;是一名全栈开发者也是一名创业者&#xff0c;来自济南——一个目前被称为互联网洼地的地方。2020年4月和三位志同道合的朋友&#xff0c;在济南共同创建了山东旷野网络科技有限公司&#xff0c;主要从事自有项目和外包…

代码智能技术如何应用到日常开发?

简介&#xff1a; 原理与演示。 01/ 从开发者的烦恼说起 开发者在编写代码时&#xff0c;需要花费大量时间在低层次的重复编码上&#xff0c;特别是针对一些语法比较冗余的开发语言。 同时&#xff0c;开发者经常被戏称为面向搜索引擎编程&#xff0c;因为我们经常需要通过…

sql server tcp 信号灯超时时间已到_「图文详解」TCP为啥要3次握手和4次挥手?3次挥手不行吗?...

原文链接&#xff1a;https://www.cnblogs.com/qdhxhz/p/8470997.htmlTCP有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置) URG(紧急)一、TCP三次握手第一次握手客户端向服务器发出连接请求报文&#xff0c;这时报文首部中的同部位SYN1&#xff0c;同时随机生…

F5:2022年应用交付和安全领域趋势展望

作者 | F5中国区金融事业部技术总监兼安全事业部副总经理 陈亮 出品 | CSDN 云计算 随着人工智能&#xff08;AI)、物联网 (IoT)等技术的日益普及&#xff0c;企业拥抱互联网技术的程度不断提高&#xff0c;越来越多的企业开始考虑利用数字化来提升劳动生产率和利用电子商务扩…

java的class文件在哪里_传统上,你在哪里存储Java .class文件?

如果你不熟悉它,你应该研究Java classpath的主题.我记得当我第一次开始用Java编程时发现这个令人困惑.Java中有.class文件的定义搜索路径;当你运行设置类路径的java -cp blahblahblah时. java -jar blahblahblah.jar打开一个JAR file,.jar文件的清单可以指示类路径.默认的类路径…

DevOps 能力提升模型

简介&#xff1a; DevOps 能力反映的是技术研发响应业务变化的能力。随着组织规模的增加和业务复杂性增长&#xff0c;DevOps 能力会变得越来越重要。持续提升 DevOps 的能力成为技术研发的共同挑战。 编者按&#xff1a;本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南…

生态和场景一站式集成?来看看小程序的“共享主义”

简介&#xff1a; mPaaS 小程序市场正式上线&#xff0c;海量小程序一站式集成&#xff0c;用场景拉高终端活跃水位。 01 小程序破壁计划 从 2018 年「支付宝」将支付宝小程序全量开放给用户使用开始&#xff0c;整个小程序生态市场发生了新一波的震荡。 小程序商家通过「支付…

python sanic orm_基于sanic的微服务框架 - 架构分析

感谢songcser分享的《基于sanic的微服务基础架构》https://github.com/songcser/sanic-ms最近正在学习微服务&#xff0c;发现这个repo不错&#xff0c;但不完整&#xff0c;跑不起来。所以学习了一下源码&#xff0c;实际使用Docker部署成功&#xff0c;本文记录实现过程。学习…

拒做背锅侠!如何利用网站性能优化驱动产品体验提升

简介&#xff1a; 对于运维工程师而言&#xff0c;如果要票选五大最抓狂运维支撑场景&#xff0c;花样繁多的各种促销活动一定榜上有名。每个促销季上线都是忐忑不安的不眠夜。大量内容更新、大量客户涌入&#xff0c;大量数据读写&#xff0c;虽有着各种技术方案或工具服务保障…

阿里云飞天论文获国际架构顶会 ATC 2021最佳论文:全球仅三篇

简介&#xff1a; 近日&#xff0c;计算机系统结构国际顶级学术会议 USENIX ATC在线上举行。ATC 始办于1992年&#xff0c;是由USENIX组织的计算机系统领域的顶级会议&#xff0c;至今已成功举办31届&#xff0c;计算机系统领域中Oak语言&#xff08;JAVA语言的前身&#xff09…

Quorum 和唱票那回事

作者 | 奇伢来源 | 奇伢云存储关于 Quorum 的两个维度前几回说了那么多框架&#xff0c;设计思想的文章。今天分享一个很小的点&#xff0c;etcd 的 quorum 是怎么实现的&#xff1f;Quorum 机制本质就是一个关于多数派的事情&#xff0c;这个多数派应用的有两个方面&#xff1…

java 迷你桌面地图_求教贴,Java桌面小游戏的地图怎么做

展开全部小游戏地e5a48de588b63231313335323631343130323136353331333365656566图一般都是各种图片的拼接,然后保存到2维数组里面比如//数值常量public static final int EMPTY0;//空地什么也没有public static final int BRICK1;//土墙public static final int STONE2;//石头p…

python相对引用_Python 模块相对引用

文件结构如下python_directory/├── __init__.py└── app├── __init__.py├── sub1│ ├── __init__.py│ └── mod1.py└── sub2├── __init__.py├── mod2.py除了 mod1.py&#xff0c;其他文件内容都为空。mod1.pyprint(__name__: {}.format(__name__…

快速界定故障:Socket Tracer网络监控实践

简介&#xff1a; Socket Tracer定位是传输层(Socket&TCP)的指标采集工具&#xff0c;通过补齐网络监控的这部分盲区&#xff0c;来达到快速界定网络问题的目标。 作者 | 四忌 来源 | 阿里技术公众号 一 背景 随着软件应用的集群化、容器化、微服务化&#xff0c;产品的…

剑指企业级云原生,阿里云 CNFS 如何破局容器持久化存储困境

简介&#xff1a; 云原生趋势下&#xff0c;应用容器化比例正在快速增长&#xff0c;Kubernetes 也已成为云原生时代新的基础设施。 据 Forrester 预测&#xff0c;到 2022 年&#xff0c; 全球企业及组织在生产环境运行容器化应用。观察今天的容器和 Kubernetes 的应用现状&am…

Log4j 第三次发布漏洞补丁,漏洞或将长存

整理 | 郑丽媛、禾木木出品 | CSDN这几天&#xff0c;Apache Log4j 2 绝对是众多 Java 程序员提到的高频词之一&#xff1a;由于 Apache Log4j 2 引发的严重安全漏洞&#xff0c;令一大批安全人员深夜修 Bug、打补丁。此次漏洞更是因为其触发简单、攻击难度低、影响人群广泛等特…

mysql 常见密码设置_设置mysql用户密码(5.6/5.7)、远程连接数据库、常用命令

注&#xff1a; 以上命令均需要在mysql下执行&#xff1b;在mysql中每行命令末尾加上分号&#xff0c;表示该行命令执行结束。 tb_name即table name()表名。示例&#xff1a;[rootcentos-01inux mysql]# mysql -uroot -p123456Warning: Using a password on the command line i…

二分法求数组最大最小_js-求数组的最大值和最小值

取出数组中的最大值或者最小值是开发中常见的需求&#xff0c;但你能想出几种方法来实现这个需求呢&#xff1f;Math.maxJavaScript 提供了 Math.max 函数返回一组数中的最大值&#xff0c;用法是&#xff1a;Math.max([value1[,value2, ...]])值得注意的是&#xff1a;如果有任…

TailwindCSS v3.0 正式发布!一大波新特性来袭!

作者 | 一只图雀来源 | 程序员巴士今天给大家介绍一篇关于 Tailwind 最新发布的 v3.0 相关的内容。2021 年 12 月 10 日&#xff0c;TailwindCSS 的创始人 Adam Wathan 宣布 TailwindCSS v3.0 正式发布&#xff0c;带来了一系列性能上的改进、对开发工作流的改善以及大量的新特…

scala seq java_Scala中的两个Seq比较

如果我理解你的话&#xff0c;你已经通过覆盖 equals 完成了大部分的努力 - 当然你 MUST 也相应地覆盖 hashCode 例如&#xff1a;case class Thing(id:Long, foo:String, bar:Int) {override def equals(that:Any):Boolean {that match {case Thing(_, f, b) > (f this.f…