數據加載中……

          2011年4月19日

          高手幫我看看這程序是哪里出了問題?

          package SimpleSearcher;
          import java.awt.*;
          import java.awt.event.*;
          import java.io.IOException;

          import javax.swing.*;
          public class SimpleSearcherFrame {
          JFrame jf=new JFrame("SimpleSearcher");
          JTextArea jta;
          JLabel l1,l2;
          JPanel p;
          JTextField tf1,tf2;
          JScrollPane  jp;
          JButton b1,b2,b3;
          FileDialog fd;
          String keyword,parent,child,path=new String();
          public void go() throws IOException{
          l1=new JLabel("請輸入文件所在位置");
          tf1=new JTextField(20);
          tf1.setEditable(true);
          l2=new JLabel("請輸入查詢的關鍵字");
          tf2=new JTextField(20);
          tf2.setEditable(true);
          keyword=tf2.getText();
          {fd=new FileDialog(jf,"打開文件位置");

          jta=new JTextArea(300,100);
          jp=new  JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
          b1=new JButton("打開文件位置");
          b1.addActionListener(new ActionListener()
          {
          public void actionPerformed(ActionEvent e){
          fd.setVisible(true);
          parent=fd.getDirectory();
          child=fd.getFile();
          path=parent+child;
          tf1.setText(path);
          }
          }
          );
          b2=new JButton("查詢");
          b3=new JButton("清空");
          b3.addActionListener(new ActionListener()
          {
           public  void actionPerformed(ActionEvent e){
          jta.setText(null); 
           }
          });
          p=new JPanel();
          p.add(l1);
          p.add(tf1);
          p.add(b1);
          p.add(tf2);
          p.add(b2);
          Container cp=jf.getContentPane();
          cp.add(p,BorderLayout.NORTH);
          cp.add(jta,BorderLayout.CENTER);
          cp.add(b3,BorderLayout.SOUTH);
          jf.pack();
          jf.setVisible(true);
          SimpleSearcherCode ssc=new SimpleSearcherCode();
          String s=ssc.search(keyword,path);
          jta.append(s);
          }
          }

          }
          package SimpleSearcher;
          import java.io.*;
          class SimpleSearcherCode
          {
           public String  search(String keyword,String path) throws IOException
          {
             FileReader fr = new FileReader(path);
             BufferedReader reader=new BufferedReader(fr);
             int line=0;int mark=0;String s1[]=new String[300];int i=0;
               while(reader.readLine()!=null)
               {
                line++;
                int start=0;
                while(reader.readLine().indexOf(keyword, start)!=-1){
                start=reader.readLine().indexOf(keyword,start);
                mark++;
                s1[i]= keyword+"在第"+line+"第"+start+"位置";
                i++;
                }
               }
            String s2="文件中一共搜到"+mark+"個關鍵字";
               if(mark==0)
               {
                return "文件中沒有相關內容";
               }
               else {for(int j=0;j<i;j++)
                s2+=s1[i];
               return s2;
               }
          }
          }


          package SimpleSearcher;

          import java.io.IOException;

          public class Searching {
          public static void main(String args[]) throws IOException
          {
          SimpleSearcherFrame ssf =new SimpleSearcherFrame();
          ssf.go();
          }
          }
          界面沒什么問題,主要是在文件流的轉換上不知道哪里不匹配,老是說沒實例化。

          posted @ 2011-04-19 00:57 失眠患者 閱讀(138) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 绥化市| 青冈县| 澎湖县| 兰州市| 府谷县| 浮梁县| 昭通市| 元江| 敦化市| 华阴市| 武义县| 广饶县| 英吉沙县| 嘉善县| 大悟县| 公安县| 信宜市| 尉氏县| 鹤壁市| 慈利县| 绍兴县| 抚松县| 巍山| 荥经县| 东阿县| 芦山县| 铜山县| 新平| 莲花县| 绥化市| 遵义市| 抚顺县| 玛沁县| 长垣县| 巧家县| 黄大仙区| 东阳市| 龙山县| 石嘴山市| 浑源县| 屯留县|