此文源码主要为应用 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. wp7 中 HubTile控件自定义大小。

    http://blog.csdn.net/matrixcl/article/details/7057291 (转) Toolkit(http://silverlight.codeplex.com/)中 ...

  2. The constructor BASE64Encoder() is not accessible due to restriction on required

    在Eclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示: Access restriction : ...

  3. Linux下PS命令详解

    要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1)         ps :是显示瞬间进程的状态,并不动态连续: (2)         top:如果想对进 ...

  4. 使用本地yum源

    [root@xaiofan ~]# mount /dev/sr0 /mnt/ [root@xaiofan ~]# cat /etc/yum.repos.d/local.repo [loacl]name ...

  5. sql2005 全文索引

    1.打开全文索引 一.检查服务里面带有Full-text字样的服务是否存在并开启! [](http://images2015.cnblogs.com/blog/23017/201611/23017-2 ...

  6. Functional programming

    In computer science, functional programming is a programming paradigm, a style of building the struc ...

  7. [Admin]CCTV文件分类

    #建立远程服务器的文件夹映射 $pw = ConvertTo-SecureString '密码' -AsPlainText -Force $Creds = New-Object -Typename S ...

  8. CodeForces 670E Correct Bracket Sequence Editor(list和迭代器函数模拟)

    E. Correct Bracket Sequence Editor time limit per test 2 seconds memory limit per test 256 megabytes ...

  9. The resource could not be loaded because the App Transport Security policy requires the use of a secure connection

    xmpp 项目中遇到的问题,用苹果的通信API 写一个PUT 方法,向服务器上传一张图片.遇到如题问题. Plist 文件没有NSAppTransportSecurity属性 Dic,添加该属性,再添 ...

  10. Asp.Net:Repeater 详情 备用

    页面 repeator就想for循环一样,没有编辑模板,有删除delete和详情detail模板 <%@ Page Language="C#" AutoEventWireup ...