在文本文件中读取所需的行

时间:2013-03-10 21:55:02

标签: java file-io

如何在我追加的文本文件中搜索特定条目?

我制作了一个GUI来输入数据,但是我可以阅读整个文件,但这对我没有用,因为我从用户的角度思考,如果早先的预订想要被调用我就是对如何理解的理解毫无头绪。当我读回数据时,我试图实例化一个对象。

这是我的一些代码:

search.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            String booking;
            String where;
            booking = JOptionPane.showInputDialog(" Booking Reference: ");    
            System.out.println("Booking Reference " + e.getActionCommand());
            if (booking.equals("Wales"))
            try{

            FileInputStream fstream = new FileInputStream("Wales.txt");
            // Use DataInputStream to read binary NOT text.
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
            String strLine;

            while ((strLine = br.readLine()) != null)   {

            System.out.println (strLine);
           }

            in.close();
            }
            catch (Exception ex)
            {
            System.err.println("Error: " + ex.getMessage());
            }
            else if (booking.equals("Scotland"))
            try{

            FileInputStream fstream = new FileInputStream("Scotland.txt");

            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine; 
            while ((strLine = br.readLine()) != null)   {

            System.out.println (strLine);
           }
            where = JOptionPane.showInputDialog("Which booking reference do you wish to search?: ");

            }
            catch (Exception ex)
            {
            System.err.println("Error: " + ex.getMessage());
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

我认为你会更好地探索XML,JSON或INI这样的文件格式来处理这类事情。正如您开始意识到的那样,没有支持格式的文本文件就是:文本文件。

如果您只想回读一些键/值对,请使用this Java INI library尝试类似INI文件的内容。

如果要从保存的文件中实例化对象,XML是更好的选择。将对象保存到文本文件,并从保存的文件中重构该对象称为Serialization