日期:2014-05-20  浏览次数:20661 次

请教 这个txt文件 如何写?
读入一个txt文件,然后存入到一个List当中,现在把List里面的成员 进行选择性的输出到一个新的txt里面。
Distance
Num
6032
6046
6060
LA DAME
08:04
09:14
10:24
355
La Belle
08:04
09:14
10:24
200
Lechten
16:29
17:39
18:59
Distance
Num
7021
7035
7049
输出结果是讲蓝色的数据相匹配 为 08:04 16:29
  09:14 17:39
  10:24 18:59 这样的形式 请教大侠如果写?

------解决方案--------------------
简单一点的做法,新建两个List,分别存储出发时间和到达时间
List ladame = new ArrayList();
List lechten = new ArrayList();
然后对你的总list进行遍历,
将LA DAME节点后面的时间格式节点加入到ladame 中,
将Lechten节点后面的时间格式节点加入到lechten中,
输出文本文件的时候,
每行分别从ladame 和lechten中取同序号节点输出即可。
------解决方案--------------------
正则+读文件
Java code
import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Test {
    public static void main(String[] args) throws FileNotFoundException {
        Set<String> set = new HashSet<String>();
        
        Scanner scanner = new Scanner(new File("a.txt"));
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine().trim();
            if (line.matches("\\d+:\\d+")) {
                set.add(line);
            }
        }
        scanner.close();
        
        System.out.println(set);
    }
}