此文源码主要为应用 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. TYVJ P1026 犁田机器人 Label:水

    背景 USACO OCT 09 2ND 描述 Farmer John為了让自己从无穷无尽的犁田工作中解放出来,於是买了个新机器人帮助他犁田.这个机器人可以完成犁田的任务,可惜有一个小小的缺点:这个犁田 ...

  2. [Cocos2d-x For WP8]Action 常用动作

    Action相当于是Cocos2d-x里面的动画操作,在Cocos2d-x里面的动画基类是CCAction类,从CCAction类派生出来的就有很多常用的动作的实现类,利用这些类就可以给我们游戏的精灵 ...

  3. Windows7下面手把手教你安装Django

    我所使用的操作系统是Windows7,内存是2G 在搜索了一些资料发现,对于Django的安装,详细的真的很少,都说的很简化,然而,这篇blog可以手把手教你成功安装Django 对于Django的详 ...

  4. 【iHMI43 应用演示】之 modbus 协议(从机)通信演示

    ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...

  5. 每天学点GDB 15

    本节重点描述两个gdb集成测试环境 有没有办法在一边调试的时候,一边显示对应的源码呢?有没有一种工具能够将gdb集成到ide中呢,本文就试图回答这些问题. emacs gdb 在linux的世界里,e ...

  6. Nginx 配置 Basic 认证

    /* * 环境:LNMP(CentOS 6.6 + Nginx 1.8.0) */ 在 Nginx 下配置 Basic 认证需要依靠 Nginx 的 http_auth_basic_module 模块 ...

  7. PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中

    [记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...

  8. artDialog ( v 6.0.2 ) content 参数引入页面 html 内容

    /*! artDialog v6.0.2 | https://github.com/aui/artDialog */ 将页面某一隐藏的 div 的 html 内容传到 artdialog 的弹窗中,并 ...

  9. 一个项目软件的大小基本都占用在外部引用的jar包上了。

    1.一个项目几百兆,基本都是外部jar包,引用的. 2.自己本身业务代码并没有那么多的 3.看下meven的仓库大小就知道了,都几百兆

  10. freemarker 自定义标签

    1.编写标签类 package com.pccw.business.fnd.common.filegen; import java.io.IOException; import java.io.Wri ...