Java学习-013-文本文件读取实例源代码(两种数据返回格式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码。若有不足之处,敬请大神指正,不胜感激!
1.读取的文本文件内容以一维数组【LinkedList<String>】的形式返回,源代码如下所示:
/**
* @function 文本文件操作:读取数据
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java txtRead, 2015-2-2 21:03:46 Exp $
*
* @param filename :文本文件全路径
* @param encodingType :文本文件编码
*
* @return LinkedList<String> 文本文件内容
*/
public LinkedList<String> txtRead(String filename, String encodingType){
LinkedList<String> fileContent = new LinkedList<String>(); try{
File f = new File(filename); if(f.isFile() && f.exists()){
InputStreamReader read = new InputStreamReader(new FileInputStream(f), encodingType);
BufferedReader br = new BufferedReader(read); String rowContent; while((rowContent = br.readLine()) != null){
fileContent.add(rowContent);
} if(br != null){
br.close();
} if(read != null){
read.close();
}
}else{
this.message = "{" + filename + "}为目录或者文件不存在,或文件正在被占用!";
this.logger.error(this.message);
}
}catch(Exception ioe){
this.message = "读取文件 {" + filename + "}内容出错。" + ioe.getMessage();
this.logger.error(this.message);
} return fileContent;
}
读取文本文件内容,返回数据格式:LinkedList<String>
测试:返回一维数组,源代码如下所示:
/**
* 测试:FileUtils.txtRead(String, String)
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium test.java.aaron.java.tools FileUtilsTest.java txtRead, 2015-2-2 22:07:14 Exp $
*
*/
@Test
public void txtRead_row() {
this.fu = new FileUtils();
this.message = "\n\n\n测试:FileUtils.txtRead(String, String)";
this.logger.debug(this.message); try{
this.filename = this.constantslist.PARAFILEPATH.get("TEST") + "source-txtRead.txt";
this.message = "测试文本文件源为:" + this.filename;
this.logger.debug(this.message); LinkedList<String> contentlist = this.fu.txtRead(this.filename, "GB2312");
String fileContent = ""; // 文件内容 if(contentlist.size() > 0){
for(int rowsCount = 1; rowsCount <= contentlist.size()/1000 + 1; rowsCount++){
for(int i = 0; i < contentlist.size(); i++){
fileContent = contentlist.get(i); this.logger.debug(fileContent); if (i == 5) {
return;
}
}
}
}
}catch(Exception ioe){
ioe.printStackTrace();
this.message = ioe.getMessage();
this.logger.error(this.message);
}
}
测试源代码:
2.读取的文本文件内容以二维数据【LinkedList<String[]>】的形式返回(删除了数据左右空格),源代码如下所示:
/**
* @function 文本文件操作:读取数据
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java txtRead, 2015-2-2 21:03:46 Exp $
*
* @param filename :文本文件全路径
* @param encodingType :文本文件编码
* @param split : 行分隔符
*
* @return LinkedList<String[]> 文本文件内容
*/
public LinkedList<String[]> txtRead(String filename, String encodingType, String split){
LinkedList<String[]> fileContent = new LinkedList<String[]>(); try{
File f = new File(filename); if(f.isFile() && f.exists()){
InputStreamReader read = new InputStreamReader(new FileInputStream(f), encodingType);
BufferedReader br = new BufferedReader(read); String rowContent; while((rowContent = br.readLine()) != null){
String[] content = rowContent.split(split);
String[] rowdata = new String[content.length]; for (int i = 0; i < content.length; i++) {
rowdata[i] = content[i].toString().trim();
} fileContent.add(rowdata);
} if(br != null){
br.close();
} if(read != null){
read.close();
}
}else{
this.message = "{" + filename + "}为目录或者文件不存在,或文件正在被占用!";
this.logger.error(this.message);
}
}catch(Exception ioe){
this.message = "读取文件 {" + filename + "}内容出错。" + ioe.getMessage();
this.logger.error(this.message);
} return fileContent;
}
读取文本文件内容,返回数据格式:LinkedList<String[]>
测试:返回二维数组,源代码如下所示:
/**
* 测试:FileUtils.txtRead(String, String, String)
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium test.java.aaron.java.tools FileUtilsTest.java txtRead, 2015-2-2 22:17:14 Exp $
*
*/
@Test
public void txtRead_rowcontent() {
this.fu = new FileUtils();
this.message = "\n\n\n测试:FileUtils.txtRead(String, String, String)";
this.logger.debug(this.message); try{
this.filename = this.constantslist.PARAFILEPATH.get("TEST") + "source-txtRead.txt";
this.message = "测试文本文件源为:" + this.filename;
this.logger.debug(this.message); LinkedList<String[]> fdata = this.fu.txtRead(this.filename, "GB2312", "\\|"); if(fdata.size() > 0){
for(int rowsCount = 1; rowsCount <= 5; rowsCount++){
String[] arr_row = fdata.get(rowsCount);
String rowdata = ""; for (int i = 0; i < arr_row.length; i++) {
rowdata += arr_row[i] + "\t";
} this.logger.debug(rowdata);
}
}
}catch(Exception ioe){
ioe.printStackTrace();
this.message = ioe.getMessage();
this.logger.error(this.message);
}
}
测试源代码:
3.文本文件内容如下所示:
01|20130131| | | 48104| | | | |
READ00|长安|1|000001| 18653471415| 11240| 10000|1|1|1
READ04|哈佛|1|000001| 1150000000| 7650| 10000|1|1|1
READ05|武钢|1|000001| 10093779823| 2990| 10000|1|1|1
READ06|东风|1|000001| 2000000000| 3250| 10000|1|1|1
READ07|现代|1|000001| 1007282534| 11540| 10000|1|1|1
READ08|本田|1|000001| 2200000000| 4500| 10000|1|1|1
READ09|猎豹|1|000001| 1926958448| 13210| 10000|1|1|1
READ10|陆风|1|000001| 6423643659| 5250| 10000|1|1|1
READ11|东风|1|000001| 10500000000| 6380| 10000|1|1|1
READ12|华晨|1|000001| 1165READ00| 4200| 10000|1|1|1
READ15|昨天|1|000001| 6849725776| 11540| 10000|1|1|1
READ16|今天|1|000001| 22587602387| 10360| 10000|1|1|1
READ17|山东|1|000001| 3075653888| 2950| 10000|1|1|1
READ18|上海|1|000001| 22755179650| 2990| 10000|1|1|1
READ19|北京|1|000001| 17122048088| 5030| 10000|1|1|1
READ20|天津|1|000001| 2247371832| 2520| 10000|1|1|1
READ21|南京|1|000001| 2139739257| 4720| 10000|1|1|1
READ22|江苏|1|000001| 6436295797| 2250| 10000|1|1|1
READ26|河北|1|000001| 2108552613| 4770| 10000|1|1|1
READ27|海南|1|000001| 5940056200| 3820| 10000|1|1|1
READ28|丽江|1|000001| 70039798886| 7110| 10000|1|1|1
READ29|天界|1|000001| 7022650000| 4130| 10000|1|1|1
文本文件内容:
脚本运行结果:
至此, Java学习-013-文本文件读取实例源代码(两种数据返回格式) 顺利完结,希望此文能够给初学 Java 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
Java学习-013-文本文件读取实例源代码(两种数据返回格式)的更多相关文章
- Java学习-019-Properties 文件读取实例源代码
在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...
- Java学习-017-EXCEL 文件读取实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...
- Java学习-016-CSV 文件读取实例源代码
上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...
- Java学习-018-EXCEL 文件写入实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...
- Java学习-015-CSV 文件写入实例源代码
在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...
- XML和JSON两种数据交换格式的比较
在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...
- 常用两种数据交换格式之XML和JSON的比较
目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...
- Java学习-012-文件删除实例及源代码
此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 文件删除源代码如下: /** * @function 文件操作:删除文件.若文件存在且未被占用,则删除文件:若文 ...
- Java学习-011-创建文件实例及源代码
此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...
随机推荐
- Wikioi 1020 孪生蜘蛛 Label:Floyd最短路
题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾 ...
- TYVJ P1001 第K极值 Label:水
背景 成成第一次模拟赛 第一道 描述 给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数 ...
- redis运用连接池报错解决
redis使用连接池报错解决redis使用十几小时就一直报异常 redis.clients.jedis.exceptions.JedisConnectionException: Could not g ...
- 解决EasyUI-Datagrid和LinqToEntity结合应用时排序问题
我们在做WEB页面时,时常会选择JQuery框架的Datagrid,如Ext.EasyUI.Flexigrid,数据访问则采用LinqToSQL或LinqToEntity.UI用Jquery框架的目的 ...
- 使用Spring的注解方式实现AOP
Spring对AOP的实现提供了很好的支持.下面我们就使用Spring的注解来完成AOP做一个例子. 首先,为了使用Spring的AOP注解功能,必须导入如下几个包.aspectjrt.jar,asp ...
- iOS开发之--UITextField属性
UITextField属性 0. enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...
- Json 数据
来自:极课学院 简介: json与xml json语法 json对象 json对象数组 用到的包 读取json数据例子 创建json数据
- lucene 建立索引的不同方式
1.创建一个简单的索引: package lia.meetlucene; import java.io.File; import org.apache.lucene.document.Document ...
- 【iM_TFTRGB液晶模块】demo例程(版本1.02)发布
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- 安装pypcap = 安装flex:the fast lexical analyser + 安装libpcap-1.7.4
flex flex is a tool for generating scanners 安装flex-2.6.0安装包 网址:https://sourceforge.net/projects/flex ...