Java 我如何从另一个类访问arrayList(存储在main类中)?

Java 我如何从另一个类访问arrayList(存储在main类中)?,java,file-io,arraylist,fileinputstream,fileoutputstream,Java,File Io,Arraylist,Fileinputstream,Fileoutputstream,我的目标是从文件中读取对象并将其写入文件(使用文件I/O)。这些对象是存储在动态arrayList中的用户输入(名称、int值、双值等)。arrayList在我的主类中声明。为了进一步改进我的程序,我想将这些数据保存在一个文件中,我创建了另一个类ReaderWriter,以实现文件I/O 现在如何在ReaderWriter类中获取arrayList的引用 我的申请书很大。我将展示其中与我的问题相关的部分: 主要内容: 读写器: public void writeToFile(){ t

我的目标是从文件中读取对象并将其写入文件(使用文件I/O)。这些对象是存储在动态
arrayList
中的用户输入(名称、int值、双值等)。
arrayList
在我的主类中声明。为了进一步改进我的程序,我想将这些数据保存在一个文件中,我创建了另一个类
ReaderWriter
,以实现
文件I/O

现在如何在
ReaderWriter
类中获取
arrayList
的引用

我的申请书很大。我将展示其中与我的问题相关的部分:

主要内容:

读写器:

public void writeToFile(){


    try {
        FileOutputStream fos=new FileOutputStream("C:\\Users\\Jabir Al Fatah\\Documents\\NetBeansProjects\\BankFile.txt");
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject();//take the arrayList variable
        oos.close();
        fos.close();

    } catch (Exception e) {
        e.printStackTrace();
    }


}

public void readFromFile(){
    try {

        FileInputStream fis=new FileInputStream("C:\\Users\\Jabir Al Fatah\\Documents\\NetBeansProjects\\BankFile.txt");
        ObjectInputStream ois=new ObjectInputStream(fis);
        //make an arrayList to get those object back
        //arrayList

        ois.close();
    } catch (Exception e) {
    e.printStackTrace();
    }


}
把它传进来:

public static void main(String[] args) {
    System.out.println("WELCOME TO OUR BANK!\n\n");

    List<BankAccount> bankAccounts = new ArrayList<BankAccount>();

    ReaderWriter rw = new ReaderWriter(bankAccounts);
}
publicstaticvoidmain(字符串[]args){
System.out.println(“欢迎来到我们的银行!\n\n”);
List bankAccounts=new ArrayList();
ReaderWriter rw=新的读写器(银行账户);
}
传入:

public static void main(String[] args) {
    System.out.println("WELCOME TO OUR BANK!\n\n");

    List<BankAccount> bankAccounts = new ArrayList<BankAccount>();

    ReaderWriter rw = new ReaderWriter(bankAccounts);
}
publicstaticvoidmain(字符串[]args){
System.out.println(“欢迎来到我们的银行!\n\n”);
List bankAccounts=new ArrayList();
ReaderWriter rw=新的读写器(银行账户);
}

您为WriteFile方法提供了一个ArrayList类型的参数。现在在main中创建ReaderWriter的实例,并使用methode writeToFile。在readFromFile中,您必须添加一条返回语句,该语句也是ArrayList类型的返回语句。现在可以使用methode填充ArrayList实例

正确代码:

public void writeToFile(ArrayList<BankAccount> accounts){


    try {
        FileOutputStream fos=new FileOutputStream("C:\\Users\\Jabir Al Fatah\\Documents\\NetBeansProjects\\BankFile.txt");
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(accounts);
        oos.close();
        fos.close();

    } catch (Exception e) {
        e.printStackTrace();
    }


}

public ArrayList<BankAccount>readFromFile(){
    try {

        FileInputStream fis=new FileInputStream("C:\\Users\\Jabir Al Fatah\\Documents\\NetBeansProjects\\BankFile.txt");
        ObjectInputStream ois=new ObjectInputStream(fis);
        //make an arrayList to get those object back and return the list


        ois.close();
    } catch (Exception e) {
    e.printStackTrace();
    }


}
public void writeToFile(ArrayList帐户){
试一试{
FileOutputStream fos=新的FileOutputStream(“C:\\Users\\Jabir Al-Fatah\\Documents\\NetBeansProjects\\BankFile.txt”);
ObjectOutputStream oos=新的ObjectOutputStream(fos);
oos.书面对象(账户);
oos.close();
fos.close();
}捕获(例外e){
e、 printStackTrace();
}
}
公共ArrayListreadFromFile(){
试一试{
FileInputStream fis=新的FileInputStream(“C:\\Users\\Jabir Al-Fatah\\Documents\\NetBeansProjects\\BankFile.txt”);
ObjectInputStream ois=新ObjectInputStream(fis);
//制作一个arrayList以取回这些对象并返回列表
ois.close();
}捕获(例外e){
e、 printStackTrace();
}
}
主要内容:

publicstaticvoidmain(字符串[]args){
System.out.println(“欢迎来到我们的银行!\n\n”);
List bankAccounts=new ArrayList();
ReaderWriter rw=新的ReaderWriter();
rw.书面文件(银行账户);
List bankAccounts2=new ArrayList();
bankAccounts2=rw.readFromFile();
}

您为WriteFile方法提供了一个ArrayList类型的参数。现在在main中创建ReaderWriter的实例,并使用methode writeToFile。在readFromFile中,您必须添加一条返回语句,该语句也是ArrayList类型的返回语句。现在可以使用methode填充ArrayList实例

正确代码:

public void writeToFile(ArrayList<BankAccount> accounts){


    try {
        FileOutputStream fos=new FileOutputStream("C:\\Users\\Jabir Al Fatah\\Documents\\NetBeansProjects\\BankFile.txt");
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(accounts);
        oos.close();
        fos.close();

    } catch (Exception e) {
        e.printStackTrace();
    }


}

public ArrayList<BankAccount>readFromFile(){
    try {

        FileInputStream fis=new FileInputStream("C:\\Users\\Jabir Al Fatah\\Documents\\NetBeansProjects\\BankFile.txt");
        ObjectInputStream ois=new ObjectInputStream(fis);
        //make an arrayList to get those object back and return the list


        ois.close();
    } catch (Exception e) {
    e.printStackTrace();
    }


}
public void writeToFile(ArrayList帐户){
试一试{
FileOutputStream fos=新的FileOutputStream(“C:\\Users\\Jabir Al-Fatah\\Documents\\NetBeansProjects\\BankFile.txt”);
ObjectOutputStream oos=新的ObjectOutputStream(fos);
oos.书面对象(账户);
oos.close();
fos.close();
}捕获(例外e){
e、 printStackTrace();
}
}
公共ArrayListreadFromFile(){
试一试{
FileInputStream fis=新的FileInputStream(“C:\\Users\\Jabir Al-Fatah\\Documents\\NetBeansProjects\\BankFile.txt”);
ObjectInputStream ois=新ObjectInputStream(fis);
//制作一个arrayList以取回这些对象并返回列表
ois.close();
}捕获(例外e){
e、 printStackTrace();
}
}
主要内容:

publicstaticvoidmain(字符串[]args){
System.out.println(“欢迎来到我们的银行!\n\n”);
List bankAccounts=new ArrayList();
ReaderWriter rw=新的ReaderWriter();
rw.书面文件(银行账户);
List bankAccounts2=new ArrayList();
bankAccounts2=rw.readFromFile();
}

将其作为参数发送或在构造函数中发送引用?user489041,是问题还是注释?将其作为参数发送或在构造函数中发送引用?user489041,是问题还是注释?
     public static void main(String[] args) {
            System.out.println("WELCOME TO OUR BANK!\n\n");

            List<BankAccount> bankAccounts = new ArrayList<BankAccount>();
ReaderWriter rw = new ReaderWriter();
rw.writeToFile(bankAccounts);
List<BankAccount> bankAccounts2 = new ArrayList<BankAccount>();
bankAccounts2 = rw.readFromFile();


    }