D:\t.txt923636|13000000000|-cxby1|2008-09-27 10:00:00|B
923636|13000000000|-cxby1|2008-11-05 15:47:37|A
923636|13000000000|-cxby1|2008-11-05 16:46:43|A
923636|13000000000|-cxby1|2008-09-11 11:30:00|C
923636|13000000000|-cxby1|2008-11-05 16:10:34|A
923636|13000000000|-cxby1|2008-11-05 16:31:24|A
923636|13000000000|-cxby1|2008-09-27 10:00:00|B
923636|13000000000|-cxby1|2008-11-05 15:55:56|A
923636|13000000000|-cxby1|2008-11-05 16:18:36|B
923636|13000000000|-cxby1|2008-09-27 10:00:00|A
923636|13000000000|-cxby1|2008-09-27 10:00:00|B
923636|13000000000|-cxby1|2008-09-27 10:00:00|A
923636|13000000000|-cxby1|2008-09-27 10:00:00|A A.数据统计:
1.统计A类型的用户数量,信息
2.统计B类型的用户数量,信息
3.统计C类型的用户数量,信息
B.类型输出到文件
1.输出所有A类型的用户到指定文件,并时间排序
2.输出所有B类型的用户到指定文件,并时间排序
3.输出所有C类型的用户到指定文件,并时间排序 import java.io.*;public class InfoClient {
public static void main(String[] args) {
BufferedReader br=null;
int numA=0;
int numB=0;
int numC=0;
File file=new File("c:\\test.txt");
try {
br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));//获得文件流
String line = null;
while ((line = br.readLine()) != null) {//读取一行
String[] strArray= line.split("|");
}
if ("A".equals(strArray[strArray.length-1])){
numA++;
}
else {
}
if ("B".eequals(strArray[strArray.length-1])){
numB++;
}
else {
}
if ("C".equals(strArray[strArray.length-1])){
numC++;
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
923636|13000000000|-cxby1|2008-11-05 15:47:37|A
923636|13000000000|-cxby1|2008-11-05 16:46:43|A
923636|13000000000|-cxby1|2008-09-11 11:30:00|C
923636|13000000000|-cxby1|2008-11-05 16:10:34|A
923636|13000000000|-cxby1|2008-11-05 16:31:24|A
923636|13000000000|-cxby1|2008-09-27 10:00:00|B
923636|13000000000|-cxby1|2008-11-05 15:55:56|A
923636|13000000000|-cxby1|2008-11-05 16:18:36|B
923636|13000000000|-cxby1|2008-09-27 10:00:00|A
923636|13000000000|-cxby1|2008-09-27 10:00:00|B
923636|13000000000|-cxby1|2008-09-27 10:00:00|A
923636|13000000000|-cxby1|2008-09-27 10:00:00|A A.数据统计:
1.统计A类型的用户数量,信息
2.统计B类型的用户数量,信息
3.统计C类型的用户数量,信息
B.类型输出到文件
1.输出所有A类型的用户到指定文件,并时间排序
2.输出所有B类型的用户到指定文件,并时间排序
3.输出所有C类型的用户到指定文件,并时间排序 import java.io.*;public class InfoClient {
public static void main(String[] args) {
BufferedReader br=null;
int numA=0;
int numB=0;
int numC=0;
File file=new File("c:\\test.txt");
try {
br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));//获得文件流
String line = null;
while ((line = br.readLine()) != null) {//读取一行
String[] strArray= line.split("|");
}
if ("A".equals(strArray[strArray.length-1])){
numA++;
}
else {
}
if ("B".eequals(strArray[strArray.length-1])){
numB++;
}
else {
}
if ("C".equals(strArray[strArray.length-1])){
numC++;
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
除了這個找不到問題,/_\
BufferedReader br=null;
int numA=0;
int numB=0;
int numC=0;
File file=new File("c:\\test.txt");
String[] strArray=null;
try {
br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));//获得文件流
String line = null;
while ((line = br.readLine()) != null) {//读取一行
strArray= line.split("\\|"); //这里
}
if ("A".equals(strArray[strArray.length-1].trim())){ //还要去空格
numA++;
} if ("B".equals(strArray[strArray.length-1].trim())){
numB++;
} if ("C".equals(strArray[strArray.length-1].trim())){
numC++;
}
} catch(IOException e) {
e.printStackTrace(); }
}
}
import java.io.*;public class InfoClient { public static void main(String[] args) {
BufferedReader br = null;
int numA = 0;
int numB = 0;
int numC = 0;
File file = new File("c:\\test.txt");
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));// 获得文件流
String line = null;
while ((line = br.readLine()) != null) {// 读取一行
String[] strArray = line.split("|");
if ("A".equals(strArray[strArray.length - 1])) {
numA++;
} else {
}
if ("B".equals(strArray[strArray.length - 1])) {
numB++;
} else {
}
if ("C".equals(strArray[strArray.length - 1])) {
numC++;
}
}
System.out.println(numA);
System.out.println(numB);
System.out.println(numC);
} catch (IOException e) {
e.printStackTrace(); }
}
}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;public class Test {
public static void main(String[] args) throws IOException {
String filename = "d:/data.txt";
FileProcess process = new FileProcess();
Map<String, List<DataBean>> map = process.getGroupData(filename);
for(Map.Entry<String, List<DataBean>> entry : map.entrySet()) {
List<DataBean> beans = entry.getValue();
Collections.sort(beans, DataBean.getDateComparator());
System.out.println(entry.getKey() + " --> " + beans.size());
process.save(beans, "d:/data_" + entry.getKey() + ".txt");
}
}
}class FileProcess { private final static String LINE_SEPARATOR = System.getProperty("line.separator");
public void save(List<DataBean> data, String filename) throws IOException {
System.out.println(filename);
save(data, new File(filename));
}
public void save(List<DataBean> data, File file) throws IOException {
StringBuffer sb = new StringBuffer();
for(int i = 0, k = data.size(); i < k; i++) {
if(i > 0) {
sb.append(LINE_SEPARATOR);
}
data.get(i).toBufferString(sb);
}
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file));
bw.write(sb.toString());
} finally {
if(bw != null) {
bw.close();
}
}
}
public Map<String, List<DataBean>> getGroupData(String filename) throws IOException {
return getGroupData(new File(filename));
}
public Map<String, List<DataBean>> getGroupData(File file) throws IOException {
Map<String, List<DataBean>> map = new HashMap<String, List<DataBean>>();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
Pattern pattern = Pattern.compile(Pattern.quote(DataBean.SEAPARATOR));
for(String str = null; (str = br.readLine()) != null; ) {
DataBean bean = new DataBean();
String[] data = pattern.split(str);
bean.setData1(data[0].trim());
bean.setNumber(data[1].trim());
bean.setData3(data[2].trim());
bean.setDate(DataBean.parseDate(data[3].trim()));
String type = data[4].trim();
bean.setType(type);
List<DataBean> beans = map.get(type);
if(beans == null) {
beans = new ArrayList<DataBean>();
map.put(type, beans);
}
beans.add(bean);
}
} finally {
if(br != null) {
br.close();
}
}
return map;
}
}class DataBean {
public final static SimpleDateFormat DATA_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public final static String SEAPARATOR = "|";
private String data1;
private String number;
private String data3;
private Date date;
private String type;
public static Date parseDate(String date) {
if(date == null || date.trim().length() == 0) {
return new Date();
}
Date d = null;
try {
d = DATA_FORMAT.parse(date);
} catch (ParseException e) {
System.out.println("Date Format ERROR! Using Current Date");
d = new Date();
}
return d;
}
public static Comparator<? super DataBean> getDateComparator() {
return new Comparator<DataBean>() {
public int compare(DataBean o1, DataBean o2) {
return o1.getDate().compareTo(o2.getDate());
}
};
}
public StringBuffer toBufferString(StringBuffer sb) {
sb.append(data1).append(SEAPARATOR);
sb.append(number).append(SEAPARATOR);
sb.append(data3).append(SEAPARATOR);
sb.append(DATA_FORMAT.format(date)).append(SEAPARATOR);
sb.append(type);
return sb;
}
public String getData1() {
return data1;
}
public void setData1(String data1) {
this.data1 = data1;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getData3() {
return data3;
}
public void setData3(String data3) {
this.data3 = data3;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
一个