尝试读入文件并获取同一行上的单独信息

时间:2015-11-18 19:49:29

标签: java arrays

我正在尝试从此文件中获取每个单独的信息,将其分配给变量,使用数据创建Customer对象,然后将其添加到Customer对象数组中。这是一个项目,我必须使用数组,而不是arraylists,我必须在我的readCustomerFile方法中使用2个扫描仪。需要帮助完成readCustomerFile,无法弄清楚如何处理第二个扫描程序

这是文件:

1 10001 Smith Sam 34.5 100.0 63.5 350.0
2 10002 Jones Pat 34.5 100.0 63.5 300.0
3 10003 King Kelly 34.5 100.0 63.5 300.0
4 10004 Jenkins Jordan 34.5 100.0 63.5 300.0 100.0

第一个数字是该人的客户对象类型。 1是PreferredCustomer,2是SilverPreferredCustomer,3是GoldPreferredCustomer。 这是构造函数:

public class RewardsProcessor {

   private Customer[] customers;
   private String[] invalidRecords;

   public RewardsProcessor() {

      customers = new Customer[0];
      invalidRecords = new String[0];
   }

到目前为止我的readCustomerFile方法(我需要帮助的方法)这应该使用2个扫描仪。一个读取文件,另一个一行一行地获取信息

 public void readCustomerFile(String fileName) throws IOException {

     Scanner scanFile = new Scanner(new File(fileName)); 
     int category = 0;
     int account = 0;
     String name = " ";
     Double[] purchase = new Double[100];


     while(scanFile.hasNext()) {
         String next = scanFile.nextLine();

这是客户和PreferredSilverCustomer的参考

public Customer(String acctNumberIn, String nameIn) {

      acctNumber = acctNumberIn;
      name = nameIn;
      purchases = new double[0];

   }


public PreferredSilverCustomer(String acctNumber, String name) {
      super(acctNumber, name);
      category = "Preferred Silver Customer";

   }

1 个答案:

答案 0 :(得分:0)

回答我对你的问题了解多少

步骤1)

 Scanner readFile=new Scanner(new File(filename);
 String tempValue=""; // used for storing value while access data
 String[] contents=new String[100];
 int i=0;
 while(readFile.hasNextLine())
{  
  contents[i]=readFile.nextLine(); // this array contain all your information in file line by line
  i++;
}

步骤2)

现在内容数组包含文件中的所有信息 以单行访问信息 使用

String[] information=contents[0].split(" "); // now inforamtion[0] contain 1,inforamtion[1] contain 10001,.....