“访客详细信息问题Java中的IO文件处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“访客详细信息问题Java中的IO文件处理相关的知识,希望对你有一定的参考价值。

VIP公司集团推出了一个新的购物商场“ Le Le”。为了推广该购物中心,他们与著名的商业活动组织者“第六届活动”进行了组织抽奖活动。组织者必须收集促销期间所有访客的姓名,电话和电子邮件ID,并将其提供给公司。

组织者需要一个自动化的应用程序,并希望将记录存储在名为“ visitors.txt”的文本文件中。

记录应以以下结构存储

名称1,电话号码1,电子邮件ID1;名称2,电话号码2,电子邮件ID2;

在记录中,每个属性应使用逗号(,)分隔,而记录应使用半冒号(;)分隔。

创建一个具有两个名为Main.java和FileManager.java的类的Java应用程序

在FileManager类中实现以下方法[已给出方法框架]

静态公共文件createFile()–此方法应创建文件并返回它。

static public void writeFile(File f,String record)–在该方法中,第一个参数是要添加记录的文件引用,第二个参数是记录,该记录应附加在文件中。 [记录应按照给定的格式]

静态公共字符串[] readFile(File f)–此方法接受要读取的文件,返回文件中的所有记录。

[[注意:请勿修改给定方法的签名]

在Main类中,使用以下Input和Output语句,并从FileManager类中调用所需的方法来操作文件。

输入名称

约翰

输入电话号码

1234567

输入电子邮件

johnpeter@abc.com

您是否要输入其他记录(是/否)

输入名称

恩典

输入电话号码

98765412

输入电子邮件

gracepaul@xyz.com

您是否要输入其他记录(是/否)

是否要显示所有记录(是/否)

John,1234567,johnpeter @ abc.com

Grace,98765412,gracepaul @ xyz.com

答案
FileManager class

import java.io.FileWriter;   
import java.io.IOException;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.*;
import java.io.File;
 @SuppressWarnings("unchecked")//Do not delete this line
 public class FileManager 
 {

    static public File createFile()
    {
        File file = new File("visitors.txt");
      File parent = file.getParentFile();
      if (parent != null)
          parent.mkdirs();
      return file;



    }
   //change the return type as per the requirement    
    static public void writeFile(File f, String record)
    {
        try{
      FileWriter myWriter = new FileWriter(f.getName(),true);
      myWriter.write(record+";");
      myWriter.close();}
      catch (IOException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }

    } 
    static public String[] readFile(File f)
    {

        List<String> tokens = new ArrayList<String>();
        try{
      File myObj = new File(f.getName());
      Scanner myReader = new Scanner(myObj);
      while (myReader.hasNextLine()) {

        // String [] arr= myReader.nextLine().split(";");
        // tokens = Arrays.asList(arr);
        tokens.add(myReader.nextLine());

      }

      myReader.close();
      }
       catch (FileNotFoundException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
    String[] tokenArray = tokens.toArray(new String[0]);
    //=tokenArray.split(";");
    return tokenArray;
    }

 }


Main class


import java.util.*;
import java.io.FileNotFoundException;
//import necessary packages
import java.io.File;
 @SuppressWarnings("unchecked")//Do not delete this line
public class Main
{
    public void abcd(){
        Scanner in = new Scanner(System.in);
        System.out.println("Enter Name");
        String name=in.next();
        System.out.println("Enter Phone Number");
        long phone=in.nextLong();
        System.out.println("Enter Email");
        String id= in.next();
        FileManager f= new FileManager();
        File x =f.createFile();
        f.writeFile(x,name+","+phone+","+id);
        System.out.println("Do you want to enter another record(yes/no)");
        String choice=in.next();
        if(choice.equals("yes")){
            abcd();
        }
        if(choice.equals("no"))
       {String []q=f.readFile(x);
       String pl[]=q[0].split(";");
        for(int i=0;i<pl.length;i++)
        {
            System.out.println(pl[i]);
               }

                System.exit(0);
        }

    }

    public static void main(String[] args) 
    {
        Main asd=new Main();
        asd.abcd();



    }

}

此程序为我提供了所需的输出,但无法运行所有测试用例。

以上是关于“访客详细信息问题Java中的IO文件处理的主要内容,如果未能解决你的问题,请参考以下文章