此文源码主要为应用 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-文本文件读取实例源代码(两种数据返回格式)的更多相关文章

  1. Java学习-019-Properties 文件读取实例源代码

    在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...

  2. Java学习-017-EXCEL 文件读取实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  3. Java学习-016-CSV 文件读取实例源代码

    上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...

  4. Java学习-018-EXCEL 文件写入实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  5. Java学习-015-CSV 文件写入实例源代码

    在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...

  6. XML和JSON两种数据交换格式的比较

    在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...

  7. 常用两种数据交换格式之XML和JSON的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  8. Java学习-012-文件删除实例及源代码

    此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 文件删除源代码如下: /** * @function 文件操作:删除文件.若文件存在且未被占用,则删除文件:若文 ...

  9. Java学习-011-创建文件实例及源代码

    此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...

随机推荐

  1. 【BZOJ】3850: ZCC Loves Codefires(300T就这样献给了水题TAT)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3850 题意:类似国王游戏....无意义.. #include <cstdio> #inc ...

  2. 【BZOJ】1089: [SCOI2003]严格n元树(递推+高精度/fft)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1089 题意:求深度为d的n元树数目.(0<n<=32, 0<=d<=16) ...

  3. UOJ#77. A+B Problem

    题目名称是吸引你点进来的. 从前有个 n 个方格排成一行,从左至右依此编号为 1,2,⋯,n. 有一天思考熊想给这 n 个方格染上黑白两色. 第 i 个方格上有 6 个属性:ai,bi,wi,li,r ...

  4. 李洪强-C语言4-内存分析

    C语言内存分析 一.进制 概念:进制是一种计数方式,是数值的表现形式 4种主要的进制: ①. 十进制:0~9 ②. 二进制:0和1 ③. 八进制:0~7 ④. 十六进制:0~9+a b c d e f ...

  5. 安装rkhunter

    #!/bin/bash if [ ! -d /soft ];thenmkdir /soft fiwhich rkhunterif [ $? -eq 0 ];then echo "rkhunt ...

  6. 涉及 C#的 foreach问题

    当时是用foreach实现遍历,但是函数传入参数是Object类型的,由于Objectl类型没有实现相关接口,所以foreach并不能执行. 那么下面我们来看看,想要使用foreach需要具备什么条件 ...

  7. Ubuntu基础命令

    显示历史命令的时间戳 echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc   解压文件/打包文件夹 tar -zxvf folder ...

  8. ionic 写一个五星评价(非指令)

    Controller里的代码: .controller('evaluateCtrl', function($scope, $state, $stateParams, $ionicPopup,$ioni ...

  9. 《Ant权威指南》笔记(一)

    Ant的由来(序) James Duncan Davidson当年用纯Java开发Tomcat的时候,不仅想让它跨平台运行,还想要在不同的操作系统上都能够进行开发和构建.这种较大的项目的编译构建过程是 ...

  10. Nginx 笔记与总结(1)编译安装

    Nginx 可以承受 3 万并发连接数,Apache 默认最大连接数是 256 个. 编译安装 ① 下载 在 Nginx 的主页 http://nginx.org/ 下载最新的 stable vers ...