这是测试类
package work;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class TransRecordTest {
public static void main(String[] args) {
File file = new File("test1.txt");
for(TransRecord transRecord : readByBuffer(file)) {
System.out.println(transRecord);
}
}
public static ArrayList<TransRecord> readByBuffer(File file) {
ArrayList<TransRecord> list = new ArrayList<TransRecord>();
try(BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8"))){
String str = null;
while((str = br.readLine()) != null) {
if(str.charAt(0) != '#') {
String[] string = str.split("\\|");
TransRecord transRecord = new TransRecord(string[0],string[1],Integer.parseInt(string[2]),Integer.parseInt(string[3]),Long.parseLong(string[4]),Long.parseLong(string[5]),Double.parseDouble(string[6]));
list.add(transRecord);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
}
实体类
package work;
public class TransRecord {
private String customerNumber;//客户号
private String customerName;//姓名
private int institutionNumber;//所述机构号
private int sex;//性别
private long accountNumber;//账号
private long happenTime;//发生时间
private double amount;//发生额
public TransRecord() {
super();
}
public TransRecord(String customerNumber, String customerName, int institutionNumber, int sex,
long accountNumber, long happenTime, double amount) {
super();
this.customerNumber = customerNumber;
this.customerName = customerName;
this.institutionNumber = institutionNumber;
this.sex = sex;
this.accountNumber = accountNumber;
this.happenTime = happenTime;
this.amount = amount;
}
public String getCustomerNumber() {
return customerNumber;
}
public void setCustomerNumber(String customerNumber) {
this.customerNumber = customerNumber;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public int getInstitutionNumber() {
return institutionNumber;
}
public void setInstitutionNumber(int institutionNumber) {
this.institutionNumber = institutionNumber;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public long getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(long accountNumber) {
this.accountNumber = accountNumber;
}
public long getHappenTime() {
return happenTime;
}
public void setHappenTime(long happenTime) {
this.happenTime = happenTime;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
@Override
public String toString() {
return ( "客户号=" + customerNumber + "|姓名=" + customerName
+ "|所述机构号=" + institutionNumber + "|性别=" + sex + "|账户=" + accountNumber
+ "|发生时间=" + happenTime + "|发生额=" + amount + "");
}
}
test1.txt
#客户号 姓名 所述机构号 性别 帐号 发生时间 发生额
000001|刘德华|0000|1|4155990188888888|20060720200005|300.00
000201|晓龙|0002|1|4155990199999999|20060720200005|500.00
000101|黄晓明|0012|1|4155990100000000|20060720200005|1000.50
000101|张东健|0012|1|4155990155555555|20060720200005|600.99
000301|梁朝伟|0013|0|4155990111111111|20060722201005|5000.00
000001|刘德华|0000|1|4155990188888888|20060725200005|200.00
#asdfads
#dfadsafdsa
另外新建个文件也能正常运行,在项目里面的文件一运行就会报错
split("|")
字符串索引超出范围,这得debug一下了,这盲看也不好看