【发布时间】:2014-02-25 10:13:31
【问题描述】:
我收到了一个文件,其中包含姓名、电话号码、呼入和呼出等列表......就像这样
Adams#Marilyn#8233331109#0#0#01012014#C
Anderson#John#5025559980#20#15#12152013#M
Baker-Brown#Angelica#9021329944#0#3#02112014#C
# 是数据项之间的分隔符,每行的调用状态为最后一项。 我需要知道如何以如下格式在屏幕上显示每个人的信息:
姓名电话呼出上次通话中的通话
玛丽莲·亚当斯 (823) 333-1109 0 0 01-01-2104
约翰·安德森 (502) 555-9980 20 15 12-15-2013
当归贝克布朗 (859) 254-1109 11 5 02-11-2014
我必须使用子字符串方法来提取电话号码并添加括号/破折号等...
到目前为止,我的代码看起来像这样 我也是一个初学者Java编码课程....
import java.util.Scanner;
import java.io.*;
public class phonedata2_1 {
public static void main(String[] args) throws IOException {
String Phonefile, FirstName, LastName;
Scanner PhoneScan, fileScan;
System.out.println(" Name Phone Calls Out Calls In Last Call Status");
fileScan = new Scanner(new File("phonedata.txt"));
while (fileScan.hasNext()) {
Phonefile = fileScan.nextLine();
PhoneScan = new Scanner(Phonefile);
PhoneScan.useDelimiter("#");
System.out.println(PhoneScan.next() + " "
+ PhoneScan.next() + "\t"
+ PhoneScan.next() + "\t"
+ PhoneScan.next() + "\t"
+ PhoneScan.next() + "\t"
+ PhoneScan.next() + "\t"
+ PhoneScan.next());
}
System.out.println("\nTotal outgoing calls for the period: " + "\nTotal incoming calls for the period: \n");
}
}
【问题讨论】:
-
使用正则表达式可以过滤整个文件的内容,得到一个包含标题的多维数组:/((\S*)#){6}(\w)/
-
请将一个答案标记为正确的答案。
标签: java file substring delimiter