读入文件并添加到Main类之外的arraylist

时间:2017-02-06 17:30:28

标签: java file arraylist

我正在尝试制作面向对象的地址簿,我随机生成名称,地址,电话号码,并将其输出到CSV文件中。我已经创建了很多类来格式化名称和地址,但我正在努力使用我的fileReader类,这里的目标是让主类调用fileReader类,读入我放置的文件,然后添加它到正确的数组列表。我尝试了一些不同的方法,但它们似乎没有编译。我将在下面发布我的代码,但我想知道我是否在主类中正确初始化了zipcode的arrayList。另外,我一直在阅读有关fileReading的一些教程,看来我已经要求输入正确的参数,请求(String fileName),但是当我尝试运行它时,它不会接收文件。

package moduleaddress;

import java.io.File;
import java.util.ArrayList;


public class moduleAddress {

    public static void main(String[] args) {
        Phone phdiff = new Phone("Home", "952.621.2545");
        CityStateZip csz = new CityStateZip("Oak Park", "CA", "91377");
        ArrayList<String> zipCode = new ArrayList(loadCities("C:\\Users\\Jeff\\Documents\\CLU\\CSC 220\\Address\\zip_code_database_new.csv"));

    System.out.println(phdiff.toString());

    Phone ph = new Phone();
    ph.setNumber("805.852.2545");
    ph.setType("Work");

    System.out.println(ph.toString() + " " + csz.toString());
    System.out.println(csz.toString());
    System.out.println(zipCode.toString());
}

}
package moduleaddress;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;

final public class AddressGenerator {

CityStateZip[] allCities;

private AddressGenerator() {
}

public void loadCities(String inputFilePath) throws FileNotFoundException{

    File fileInput;
    fileInput = new File(inputFilePath);      // opening up file
    PrintWriter pwOut = new PrintWriter("C:\\Users\\Jeff\\Documents\\CLU\\CSC 220\\Address\\addressBook1.csv"); // set the printwriter 
    Scanner scnrIn = new Scanner(fileInput);  //inistiate scanner

    pwOut.println("NAME, ADDRESS, ZIP CODE, CITY, STATE, PHONE NUMBER");        //Writing out the first line of the address book
    ArrayList<String> zipCode = new ArrayList();
    while (scnrIn.hasNext()) {    // loop through data with .nextLine(), which reads line of text

        zipCode.add(scnrIn.next());
    }
    scnrIn.close();    //close file


    //public String generateState(){
     //   return(this.state[0]);
   // }
}
}

如果您希望我发布这个课程,我还有其他课程,但这些是我正在努力的两个课程。到目前为止,其他所有事情都是正确编译的。

0 个答案:

没有答案