字符串与输入输出流读写程序设计

(1) 建立一个文本文件file1.txt,里面包含多行内容,其中有一组手机号码和座机号码,分散在文件里。
(2) 建立GUI界面,读文件file1.txt显示。
(3) 使用正则表达式的字符串匹配查找功能,从文本文件里找出所有电话号码并存放在Collection列表中,排序后,显示在GUI界面上。

读文件显示到界面的关键代码

 class app1 implements ActionListener {
public String readToString(String fileName) {  
        String encoding = "UTF-8";  
        File file = new File(fileName);  
        Long filelength = file.length();  
        byte[] filecontent = new byte[filelength.intValue()];  
        try {  
            FileInputStream in = new FileInputStream(file);  
            in.read(filecontent);  
            in.close();  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        try {  
            return new String(filecontent, encoding);  
        } catch (UnsupportedEncodingException e) {  
            System.err.println("The OS does not support " + encoding);  
            e.printStackTrace();  
            return null;  
        }  
    }  

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == button1) {
                   String s =  readToString("file1.txt");
            Test.text1.setText(String.valueOf(s));
        }
    }
}

若要完整程序,请先采纳。

(1) 建立一个文本文件file1.txt,里面包含多行内容,其中有一组手机号码和座机号码,分散在文件里。
这个没说用编程,编程也得自己输入吧。

你可以用记事本创建类似如下的内容

 大家好
 我叫小花狗
 我住在天津市
 我最爱吃狗不理
 我的电话是 13333333333
 我的座机是 010-12345678
 我还有个电话是 18888888888
 以上是所有的内容

(3)

 Collection c = new ArrayList(); 
FileReader fr = new FileReader("file1.txt");
BufferedReader br = new BufferedReader(fr);
String str;
while ((str = br.readLine()) != null) {
Pattern pattern = Pattern.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)"); 
Matcher matcher = pattern.matcher(str); 
    while (matcher.find()) { 
      c.add(matcher.group()); 
    } 
}           
br.close();
c.sort();
String s1 = "";
for (String s: c) s1 += (s + "\r\n");
Test.text1.setText(String.valueOf(s1));