Java中的Scanner是否足以从文本文件中读取输入?

时间:2013-05-09 14:24:01

标签: java io java.util.scanner

我要做什么

我打算用Java建立一个电话簿程序来完成以下工作:

  1. 从两个文本文件 instruction.txt phonebook.txt
  2. 中读取
  3. phonebook.txt包含一些电话条目,一个人的每个条目
  4. instruction.txt 包含我将对 phonebook.txt 执行的一些说明,例如添加新条目,查询条目,删除条目等。
  5. 我肯定会关心我的程序的输出,但是现在,我专注于输入。
  6. 我的问题

    我想使用 扫描程序 来执行所有输入作业,读入存储在instruction.txt和phonebook.txt中的所有字符串,但我怀疑我是否可以处理所有困难的条件。条件如何正确获取每个条目,并确定它是什么。

    对于每个电话簿条目,需要五个字段:名称生日电话号码地址电子邮件。每个条目都必须使用名称生日

    有关说明,它们是添加删除保存读取查询

    示例文本文件

    这是 instruction.txt 的示例:

      

    添加名称测试三;生日13-05-1982;电话12345677;地址三;发送电子邮件至testing@gmail.com   删除测试一   保存

    每个条目由一个或多个空行分隔。 以下是 phonebook.txt 的示例:

      

    名称测试一

         

    生日13-05-1980

         

    电话12345678

         

    地址一号

         

    email testing1@gmail.com

         

    -----------这是一个空行-------------------------

         

    名称测试二

         

    生日13-05-1981

         

    电话12345644

         

    地址二地址

         

    email testing2@gmail.com

1 个答案:

答案 0 :(得分:1)

是的,扫描仪足以进行阅读,但您需要以正确的方式使用它。

获取条目只需调用Scanner.next...方法,您可以使用hasNext...处理可选字段。

(提示:使用一个扫描仪分割成行,然后使用新的扫描仪分割每行。)