Java读取txt数据Demo

来源:互联网 发布:windows7查看443端口 编辑:程序博客网 时间:2024/03/29 20:53
package Data;

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;

public class TestData {
    public static void main(String[] args) throws IOException {
        File file = new File("src/data/data.txt");
        if (file.isFile()&&file.exists()) {
            List<Data> dataList = (List<Data>)readTxt(file);
            
            System.out.println("读取出对象个数: " + dataList.size());
            //测试输出对象数据
            for(Data data :dataList ){
                System.out.println("id:"+data.getId()+";name:"+data.getName()+";attribute:"+data.getAttribute()+";note"+data.getNote());
            }
        }
        

    }
    public static List<Data> readTxt(File file){        
        List<Data> dataList = null;
        try {
               String encoding = "GBK"; // 字符编码(可解决中文乱码问题 )                 
               if (file.isFile() && file.exists()) {   
                       InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);   
                        BufferedReader bufferedReader = new BufferedReader(read);   
                         String lineTXT = null;
                         dataList = new ArrayList<Data>();
                         while ((lineTXT = bufferedReader.readLine()) != null) {
                             Data  data = new Data();
                             String[] txtData = lineTXT.split(" ");                                                                                                 
                             data.setId(txtData[0]);
                             data.setName(txtData[1]);
                             data.setAttribute(txtData[2]);
                             data.setNote(txtData[3]);
                             dataList.add(data);                                        
                         }              
                         read.close();   
                    }else{   
                         System.out.println("找不到指定的文件!");   
                     }   
                 } catch (Exception e) {   
                     System.out.println("读取文件内容操作出错!");   
                     e.printStackTrace();   
                 }   
                 return dataList;
        }

}

txt文本数据:

B1601 83001 pp0571 还款账号和保证金标志1
B1602 83002 pp0572 还款账号和保证金标志2
B1603 83003 pp0573 还款账号和保证金标志3


1 0
原创粉丝点击