Java如何读取数据文件,如txt文件或者.dat文件 中的内容
2017-05-24 15:32
971 查看
在实际工作中, 我们需要读取一些报表之类的数据文件, 这些文件一般可以是.dat .txt 格式的 , 那么如何读取呢?
下面案例以 .txt 为例.
下面案例以 .txt 为例.
package wxy.IO; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; /** * @author wxy e-mail:wxypersonal@163.com * @date 创建时间:2017年5月22日 下午3:59:26 * @version 1.0 * @company: xxx科技公司 * @description: InputStreamReader 是字节流向字符流转换的桥梁\ 这个类是按照格式pattern解析 * txt格式文件中的数据. ps: 其实读取其他数据格式文件也是类似的, 比如要读取.dat文件. * */ public class ReadTXT { /** * 在这里进行测- * @param args */ public static void main(String[] args) { File file = new File( "E:/wxy-workspace/space01/wxy/resources/222.txt");
//注意: 这里的file路径自己可以为了测试, 随便变化的, 写一个测试文件全路径即可 List<List<Object>> arr = parseTxt(file, "\\."); System.out.println(arr); } /** * 注意, 此类进行解析, 是按照gbk默认编码进行解析, 因为InputStreamReader的转换编码就是GBK * @param file * 为解析文件的路径 * @param pattern * 解析格式 注意pattern的输入,是否是转义字符来解析的, 如果是, 注意正确的输入,因为split()方法支持正则表达式 * @return */ public static List<List<Object>> parseTxt(File file, String pattern) { String fileName = file.getName(); // testFile.txt if (! StringUtils.isNotEmpty(fileName)) { System.out.println("输入参数file错误, 必须精确到文件名.txt后缀全路径才行"); return null; } // System.out.println(fileName); // 获取后缀名 如果后缀名没有 . 则返回"" String houZhui = fileName.lastIndexOf(".") == -1 ? "" : fileName .substring(fileName.lastIndexOf(".") + 1) ; List<List<Object>> listRows = null;//用于返回使用 if ("txt".equals(houZhui)) { BufferedReader bf = null; String temp = null; try { //注意:inputStreamReader是一个字节流向字符流转换的桥梁 // bf = new BufferedReader(new InputStreamReader(new FileInputStream(file))); FileInputStream fis = new FileInputStream(new File(file, "")); /** 注意: 我这里吧GBK编码格式写死了, 具体工作中, 需要看txt文件的编码格式, 如果是windows系统默认, 那就是 * GBK, 如果是其他的, 那可以改成utf-8, * */ bf = new BufferedReader(new InputStreamReader(fis, "GBK"));//从这一句可以看出, 这里可以指定 //InputStreamReader的编码格式. listRows = new ArrayList<List<Object>>();//用于返回使用 while ((temp = bf.readLine()) != null) { if (temp.replaceAll(" ", "").length() > 0) { String[] arr = temp.split(pattern); List<Object> row = new ArrayList<Object>(); for (String string : arr) {//循环遍历上面的数组 row.add(string); } listRows.add(row); } } } catch (Exception e) { e.printStackTrace(); System.out.println("txt文件读取失败"); }finally{ //在返回之前关闭流 if (bf != null) { try { bf.close(); } catch (IOException e2) { //添加日志文件吧 } } } }else{ System.out.println("发生异常: 文件的后缀名不是以.txt结尾的"); return null; } return listRows; } }
相关文章推荐
- JAVA编程中中如何读取TXT文件数据并计算
- core java ziptest 第12章如何从zip文件或者jar文件中读取数据
- 如何用java读取一个txt 文件内的内容并把它赋值与String里?
- matlab中如何读取TXT数据文件
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法
- Java中,当表单含有文件上传时,提交数据的如何读取
- 请教Ado.Net按文本读取CSV/Txt文件时,如何禁止将内容转换成数字
- JAVA 创建TXT文件,写入文件内容,读取文件内容
- matlab中如何读取TXT数据文件中指定行的数据?
- JAVA 创建TXT文件,写入文件内容,读取文件内容
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例 .
- java 读取txt文件中的列表数据 代码
- 在Java中简单的读写log或者txt文件内容
- Java读取TXT文件内容的方法
- java中如何获取远程计算机post提交的数据并把这些数据写入本地的txt文件中
- java读取txt文件中的数据
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- matlab中如何读取TXT数据文件 (续)
- VB中如何读取txt文件的数据
- java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。