CsvToJsonUtil 工具类作用:读取CSV文件内容,将其转换成JSON字符串输出

转换工具类代码如下:

package com.test.util;import java.io.*;
import java.io.IOException;public class CsvToJsonUtil {/*** 根据文件路径读取CSV文件 返回String字符串** @param filePath  CSV文件路径* @param separator CSV文件内容分隔符-默认是逗号分隔* @return String 字符串* @throws IOException IO异常*/public static String getJSONFromFile(String filePath, String separator) throws IOException {byte[] bytes = null;bytes = readFileByBytes(filePath);String csv = new String(bytes, "UTF-8");
//        System.out.println(csv);return getJSON(csv, separator).replace("\r", "").replace("\n", "").replace("\b", "").replaceAll("\\s*", "");}/*** 读取CSV文件内容** @param content   文件* @param separator 分隔符* @return String 字符串*/private static String getJSON(String content, String separator) {StringBuilder sb = new StringBuilder("[\n");String csv = content;String[] csvValues = csv.split("\n");String[] header = csvValues[0].split(separator);for (int i = 1; i < csvValues.length; i++) {sb.append("\t").append("{").append("\n");String[] tmp = csvValues[i].split(separator);for (int j = 0; j < tmp.length; j++) {sb.append("\t").append("\t\"").append(header[j].replaceAll("\\s*", "").replace("\"", "")).append("\":\"").append(tmp[j].replaceAll("\\s*", "").replace("\"", "")).append("\"");if (j < tmp.length - 1) {sb.append(",\n");} else {sb.append("\n");}}if (i < csvValues.length - 1) {sb.append("\t},\n");} else {sb.append("\t}\n");}}sb.append("]");return sb.toString();}public static void main(String[] args) throws Exception {System.out.println(getJSONFromFile("E:\\spring-boot-demo" + "/resources/permission.csv", "\\,"));}/*** 根据文件路径读取byte[] 数组*/private static byte[] readFileByBytes(String filePath) throws IOException {File file = new File(filePath);if (!file.exists()) {throw new FileNotFoundException(filePath);} else {ByteArrayOutputStream bos = new ByteArrayOutputStream((int) file.length());BufferedInputStream in = null;try {in = new BufferedInputStream(new FileInputStream(file));short bufSize = 1024;byte[] buffer = new byte[bufSize];int len1;while (-1 != (len1 = in.read(buffer, 0, bufSize))) {bos.write(buffer, 0, len1);}byte[] var7 = bos.toByteArray();return var7;} finally {try {if (in != null) {in.close();}} catch (IOException var14) {var14.printStackTrace();}bos.close();}}}
}

测试类代码如下:

package com.test.test;import com.test.util.CsvToJsonUtil;import java.io.IOException;public class CsvToJsonUtilTest {public static void main(String[] args) throws IOException {System.out.println(CsvToJsonUtil.getJSONFromFile("F:/Java工具类/CSV转JSON工具类/permission.csv","\\,"));}
}

—— END —— 

读取CSV文件内容,将其转换成JSON字符串输出相关推荐

  1. C#怎样解析.CSV文件同时把类转换成JSON

    1.首先需要引用 Newtonsoft.Json 目的是为了把对象类直接转换为JSON,返回到前台 using Newtonsoft.Json; 2.定义一个类,存储返回的值 public class ...

  2. 把对象转换成JSON字符串 第二稿支持移动设备

    /*** 导入jackson包 把对象转换成JSON字符串 第二稿 支持移动设备* @param pn* @param request* @return*/@RequestMapping(value ...

  3. Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象

    文章目录 后端部分 前端部分 后端部分 Option op = new Option("海淀","hd");//java对象转换json对象 JSONObjec ...

  4. JSONSerializer把类转换成JSON字符串

    JSONSerializer把类转换成JSON字符串 阅读优秀的代码真的是种享受,从ProMesh的项目中发现了现在的一段优美的代码,记下来,也让喜欢它的人有机会阅读到. //============ ...

  5. 将map转换成json字符串

    import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;public class Transfer {p ...

  6. 通过Java读取csv文件内容

    1.通过FileReader(String fileName)读取整个文件,并通过BufferedReader(Reader in)作为每行的缓冲: 2.在通过readLine()读取每行内容,通过空 ...

  7. java—IO流——读取键盘输入的字母并转换成大写字母输出在控制台上

    读取键盘输入的字母,并转换成大写输出在控制台上 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; imp ...

  8. 分享一个小工具:Excel表高速转换成JSON字符串

    在游戏项目中一般都须要由策划制作大量的游戏内容,当中非常大一部分是使用Excel表来制作的.于是程序就须要把Excel文件转换成程序方便读取的格式. 之前项目使用的Excel表导入工具都是通过Offi ...

  9. FastJson PropertyNamingStrategy 转换成JSON字符串的四种格式配置及源码解析

    FastJson在将bean转成JSON字符串时, 默认使用CamelCase(驼峰命名)的配置; 在1.2.15版本之后,FastJson支持配置PropertyNamingStrategy,有四种 ...

最新文章

  1. 函数式编程学习之路(三)
  2. myflow.js 工作流类扩展
  3. 查看java内存_怎么查看java虚拟机存储空间使用情况
  4. 函数指针与指针函数的使用与小结
  5. linux socket通信tcp,基于TCP协议的socket通信
  6. 教你怎样在电脑上建一个绝密目录
  7. Circle HDU - 6550 (数学)
  8. java之异常java.net.MalformedURLException解决办法
  9. 今天你们表现的真棒!!!
  10. 发光的二次元克拉克拉 满足年轻用户个性化、碎片化的文娱需求
  11. system.argumentnullexception值不能为null_MySQL NULL 值如何处理?
  12. [考试]20151008
  13. hadoop相关问题-stop-all.sh
  14. 【发布】Bangumi动画搜索一键跳转AniDBMyAnimeListANNTMDB和动漫花园等BT站在线播放站
  15. 计算机网络是由网络硬件网络软件,计算机网络系统主要由网络硬件系统和网络软件系统组成。...
  16. 1、解读中台 -- 什么是中台
  17. 选择适合你的虚拟现实体验
  18. 阿里任务调度SchedulerX2.0和阿里云大数据任务结合
  19. arm cache ace chi
  20. 【免费诊断】网站SEO诊断分析服务说明 - 姜成SEO博客

热门文章

  1. Go 分布式学习利器(15) -- Go 实现 深搜和广搜
  2. vue 手机键盘把底部按钮顶上去
  3. angularjs 学习笔记 简单基础
  4. noip2010提高组3题题解 by rLq
  5. 做销售如何跟单,逼单!共20招!(转)
  6. 【小白的CFD之旅】16 流程
  7. 12月3号条件控制语句和循环语句
  8. 翡润年华-毛货展示003
  9. 01、WPF 中 URI 解析
  10. MOSS的CSS样式说明,一个老外总结的