Java 我如何从另一个类访问arrayList(存储在main类中)?
我的目标是从文件中读取对象并将其写入文件(使用文件I/O)。这些对象是存储在动态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
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();
}