遇到两个小坑:

1、使用String.split,部分分隔符需要转义:https://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html

2、读取文件,报文件找不到:http://blog.51cto.com/632977922/1128981

3、java.io.FileNotFoundException: file:/home/admin/trunner/scenarios/64124/63844/target/larkPerf.jar!/data/getGoodsCategory.txt (没有那个文件或目录)

linux和windows文件夹分隔符不一样:

this.getClass().getClassLoader().getResource("data").getPath() + File.separator + "getGoodsCategory.txt"
public class FileUtils {

    public static List<String> file2List(String filePath) throws IOException {
List<String> lines = new ArrayList();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));
String line;
while (null != (line=bufferedReader.readLine())){
lines.add(line);
}
return lines;
} /**
* 解析文件,返回mapList
* @param filePath
* @return
* @throws IOException
*/
public static List file2MapList(String filePath) throws IOException {
List list = file2List(filePath);
List mapList = new ArrayList();
List<String> line,head = null;
for (int i=0; i<list.size(); i++){
Map<String, String> tmpMap = new HashMap();
//第一行为表头 (二狗,直接用excel或xml吧,解析得这么费劲)
if (0 == i){
head = Arrays.asList(list.get(i).toString().split("\\|"));
continue;
}
line = Arrays.asList(list.get(i).toString().split("\\|"));
for (int j=0;j<line.size(); j++){
tmpMap.put(head.get(j), line.get(j));
}
mapList.add(tmpMap);
}
return mapList;
} @Test
public void test(){
try {
List<String> list = file2List("D:\\code\\code-test\\lark-perf\\src\\main\\groovy\\cn\\com\\ykse\\perf\\util\\test.txt");
System.out.println(list.get(0));
List list1 = file2MapList("D:\\code\\code-test\\lark-perf\\src\\main\\groovy\\cn\\com\\ykse\\perf\\util\\test.txt");
System.out.println(list1); } catch (IOException e) {
e.printStackTrace();
}
} }

=====2018-09-11补充=========
第3点找不到文件,是打成jar包后运行报错。一个项目中编译运行||引用jar包读取文件,方式不一样
引用jar包并读取该jar包文件时,应该用
this.getClass().getResourceAsStream(fileName)
详情参考:https://www.cnblogs.com/cn-coder/p/7089688.html

java解析文件的更多相关文章

  1. Java解析文件内容

    本文主要实现对.chk文件的解析,将其内容读出来,存入到一个Map中,文件内容实例为: A0500220140828.CHK A05002 |34622511 |373532879 |3 识别分隔符| ...

  2. java解析xml文件并输出

    使用java解析xml文件,通过dom4j,代码运行前需先导入dom4j架包. ParseXml类代码如下: import java.io.File; import java.util.ArrayLi ...

  3. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  4. 用java解析在OpenStreetMap上下载的地图数据(SAX版,适合比较大的xml文件)

    java程序如下: package gao.map.preprocess; import java.io.BufferedWriter; import java.io.File; import jav ...

  5. 使用Java解析XML文件或XML字符串的例子

    转: 使用Java解析XML文件或XML字符串的例子 2017年09月16日 11:36:18 inter_peng 阅读数:4561 标签: JavaXML-Parserdom4j 更多 个人分类: ...

  6. javap -- Java 类文件解析器

    参考文档 http://blog.chinaunix.net/uid-692788-id-2681132.html http://docs.oracle.com/javase/7/docs/techn ...

  7. Java 上传解压zip文件,并且解析文件里面的excel和图片

    需求:上传一个zip文件,zip文件里面包含一个excel和很多图片,需要把excel里面的信息解析出来保存到表中,同时图片也转化成base64保存到数据库表中. PS:为了方便不同水平的开发人员阅读 ...

  8. Java解析JSON文件的方法

    http://blog.sina.com.cn/s/blog_628cc2b70101dydc.html java读取文件的方法 http://www.cnblogs.com/lovebread/ar ...

  9. Java解析xml文件遇到特殊符号&会出现异常的解决方案

    文/朱季谦 在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息: Error on line 60 of document : 对实体 "xxx" ...

随机推荐

  1. Dubbo(1)简介和Zookeeper安装

    一.简介: Dubbo主页地址  http://dubbo.io/ Dubbo百度百科:https://baike.baidu.com/item/Dubbo/18907815?fr=aladdin 二 ...

  2. tomcat中class和jar的加载顺序(转)

    https://blog.csdn.net/lipei1220/article/details/53924799 加载顺序: 1. $java_home/lib 目录下的java核心api 2. $j ...

  3. google chrome浏览器 程序无法启动并行配置不正确

    启动电脑后打开chrome弹出如下信息: 系统:win7 进入chrome的安装路径 C:\Program Files (x86)\Google\Chrome\Application 两个版本文件夹, ...

  4. 电脑不能上网win7 解决办法

    情况一览: 电脑连的是WIFI 手机能上,局域网其他电脑能上 电脑浏览器打不开网页 问题解决: //win+R 快捷键进入cmd 1.ipconfig 看电脑有没有ip 2.ipconfig nslo ...

  5. KPPW2.5 漏洞利用--SQL注入

    KPPW2.5 漏洞利用--SQL注入 SQL注入--布尔型盲注 环境搭建 1,集成环境简单方便,如wamp,phpstudy.... 2,KPPW v2.2源码一份(文末有分享)放到WWW目录下面 ...

  6. C#存储过程 传入参数 传出参数 结果集

    作者:卞功鑫 转载请保留:http://www.cnblogs.com/BinBinGo/p/6400928.html //1 连接字符串 string connectionString = &quo ...

  7. java加减天数

    指定日期的加减天数 public static String setDay(int num,String newDate) throws ParseException{ SimpleDateForma ...

  8. sqoop1.4.7 导入数据到hive2.3.4 jackson版本问题

    今天用sqoop往hive导入数据的时候,执行报错,错误信息为: java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectMa ...

  9. VS2012常用快捷键!

    Shift+Alt+Enter: 切换全屏编辑Ctrl+B,T / Ctrl+K,K: 切换书签开关Ctrl+B,N / Ctrl+K,N: 移动到下一书签Ctrl+B,P: 移动到上一书签Ctrl+ ...

  10. WordPress整站轻松开启HTTPS

    近两年来HTTPS取代HTTP已经成为大势所趋.早在2014年google Chromium安全团队提议将所有的HTTP协议网站标注为不安全.现在,Chrome浏览器已经开始执行这一标准了.从 Chr ...