当前位置: 首页 > 知识库问答 >
问题:

Java将文件中的内容读入ArrayList(对象)

沈巴英
2023-03-14
public static ArrayList<AccountRecords> userRecords = new 
                                            ArrayList<AccountRecords>();
private static Boolean saveObj(){

   try{

   File userRecordsFile = new File("userRecords");



     PrintWriter pw2 = new PrintWriter(new FileOutputStream(userRecordsFile));
   for(int x=0;x<userRecords.size();x++){
        pw2.println(userRecords.get(x));
   }
    pw2.close();

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



  }
class AccountRecords{

private String identificationNo;
private int accountNo;
private int monthId;
private double balance;
private double credit;
private double debit;
private int year;


public AccountRecords(String identificationNo, int accNo,int monthId, double balance, double creditAmount, double debitAmount, int year){

    this.identificationNo = identificationNo;
    this.accountNo = accNo;
    this.balance = balance;
    this.monthId = monthId;
    this.credit = creditAmount;
    this.debit = debitAmount;
    this.year = year;
}

public double getCredit() {
    return credit;
}

public double getDebit() {
    return debit;
}

 public double getBalance() {
    return balance;
}

public String getIdentificationNo() {
    return identificationNo;
}

public int getAccountNo() {
    return accountNo;
}

public int getMonthId() {
    return monthId;
}

public int getYear() {
    return year;
}
private static Boolean readObj(){

   return true;

}

PS,arrayList中的内容插入到程序中的某个点,因此arrayList不是空的。

共有1个答案

毕霖
2023-03-14

你不可能照原样做这件事。您甚至没有声明一个toString()方法,以后可以对其进行解析。最简单的方法是使用对象流。

下面是一些示例代码。我把数据写到一个基本的64编码字符串中,但是你也可以很容易地把数据写到一个文件中。

  // Create a base 64 encoded string and print it
  byte[] data = {-1,-2,-3,0,1,2,3,};
  ByteArrayOutputStream bos = new ByteArrayOutputStream();
  ObjectOutputStream enc = new ObjectOutputStream( bos );
  enc.writeObject( data );
  enc.close();

  String b64 = Base64.getEncoder().encodeToString( bos.toByteArray() );
  System.out.println( "data=" + b64 );

  // Read some base 64 encoded data and print it
  String dataIn = "rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAAAH//79AAECAw==";
  byte[] bdataIn = Base64.getDecoder().decode( dataIn );
  ByteArrayInputStream bais = new ByteArrayInputStream( bdataIn );
  ObjectInputStream ois = new ObjectInputStream( bais );
  byte[] readData = (byte[]) ois.readObject();

  System.out.println( "orig array: " + Arrays.toString( readData ) );

要编写数组列表,只需编写:

OutputStream os = new FileOutputStream(userRecordsFile);
ObjectOutputStream enc = new ObjectOutputStream( os );
enc.writeObject( userRecords );
enc.close();
 类似资料:
  • 问题内容: 你如何将文件内容读入Java? 以下是文件内容: 只需将每个单词读入。 问题答案: 此Java代码读取每个单词并将其放入ArrayList中: 如果要逐行而不是逐字阅读,请使用和。

  • 我必须写一个程序: 提示用户输入输入文件的名称, 从输入文件中读取数据,并将有关汽车的信息存储在汽车对象数组列表中, 将数组列表中未排序的数据打印到屏幕上,如下所示: 我想不出前三步该怎么做。 我也有两个类,与这个项目,并将添加他们,如果需要/需要。因此,基本上只需要帮助了解如何从用户那里读取文本文件,将文本文件的内容添加到ArrayList中,并以格式化的方式打印出ArrayList的内容(我的

  • 这是一个简单的问题。但是我不能调试它。我有类“Adding.java”,它将一些数据添加到ArrayList 另一个类“WriteFile.java”创建了一个xml文件 当我执行此操作时,我得到以下输出 等等但我希望最终输出是这种形式的 “for”循环在“list”元素上迭代有什么问题吗。感谢您的帮助。提前感谢

  • 我试图将包含Contact类型的序列化对象的文件读入ArrayList ContactsCollection。我遇到的问题是联系的对象从未添加到ArrayList中。

  • 问题内容: 我正在尝试创建一个简单的Java程序,该程序从zip文件中的文件读取和提取内容。压缩文件包含3个文件(txt,pdf,docx)。我需要阅读所有这些文件的内容,并且为此使用了Apache Tika。 有人可以帮我实现此功能。到目前为止,我已经尝试过了,但是没有成功 代码段 问题答案: 如果你想知道如何从每个文件中获取文件内容,ZipEntry那实际上很简单。这是一个示例代码: 一旦拥有

  • 我正在编写一个java代码,它利用Apache-poi读取ms-office.doc文件,利用itext jar API创建并写入pdf文件。我已经阅读了.doc文件中打印的文本和表格。现在我正在寻找一个读取文档中写入的图像的解决方案。我已经编写了如下代码来读取文档文件中的图像。为什么这段代码不起作用。 存在的问题是:1。条件if(Picture.HasPicture(run))不满足,但文档具有