gpt4 book ai didi

java - 如何从 JavaBeanObject(泛型)写入文件

转载 作者:行者123 更新时间:2023-12-02 09:23:21 26 4
gpt4 key购买 nike

我想知道如何使用 BufferedWriter 从对象(泛型)写入文件。

我尝试了下面的代码,但它不起作用。

我想打印列表中存在的所有值。我是否需要进行任何类型转换或使用迭代器并使用 get 方法或使用 for 循环。

如果我做错了什么,除了 PrintWriter 之外,还有什么方法可以将值写入文件。我尝试过使用不同的编写器,但没有任何效果。我不明白继续的方式。

取 self 的程序,该程序输出错误

    public static void file()throws Exception{
FileWriter fw = new FileWriter("file1.txt");
BufferedWriter bw = new BufferedWriter(fw);
for (int i = 0; i < AllList.a.size(); i++) {

JavaBeans b1 = AllList.a.get(i);
bw.write(b1.getProductDescription());
bw.flush();
bw.close()

第二部分:

    package com.collections;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class AllList {
public static List<JavaBeans> a = new ArrayList<JavaBeans>();
public static void getAllList() {


JavaBeans j = new JavaBeans();
j.setProductNumber(1);
j.setProductName("car");
j.setProductDescription("for driving");
j.setProductUnits(10);

JavaBeans j1 = new JavaBeans();
j1.setProductNumber(2);
j1.setProductName("soap");
j1.setProductDescription("for bathing");
j1.setProductUnits(20);

JavaBeans j2 = new JavaBeans();
j2.setProductNumber(3);
j2.setProductName("Cell");
j2.setProductDescription("for calling");
j2.setProductUnits(30);

a.add(j);
a.add(j1);
a.add(j2);

Iterator<JavaBeans> it = a.iterator();
while (it.hasNext())
{
JavaBeans bean = it.next();
System.out.print(bean.getProductNumber()+ " \t "+bean.getProductDescription()+"\t"+bean.getProductName()+"\t"+bean.getProductUnits()+"\n");
}
}

public static void add(JavaBeans bean )
{
a.add(bean);

System.out.println("added succesfully");
}

public static void update(JavaBeans bean )
{
for (int i = 0; i < AllList.a.size(); i++) {

JavaBeans b = AllList.a.get(i);

if(b.getProductNumber()==bean.getProductNumber()){
AllList.a.set(i, bean);
}}

}

public static void delete(JavaBeans bean )
{
for (int i = 0; i < AllList.a.size(); i++) {

JavaBeans b = AllList.a.get(i);

if(b.getProductNumber()==bean.getProductNumber()){
AllList.a.remove(i);
System.out.println("deleted succesfully");
}}

}

public static void file()throws Exception{
FileWriter fw = new FileWriter("file1.txt");
BufferedWriter bw = new BufferedWriter(fw);
for (int i = 0; i < AllList.a.size(); i++) {

JavaBeans b1 = AllList.a.get(i);
bw.write(b1.getProductDescription());
bw.flush();
bw.close();
}





}


}

JAVABEAN 类:

package com.collections;

public class JavaBeans {

private int productNumber;
private String productName;
private String productDescription;
private int productUnits;


@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((productDescription == null) ? 0 : productDescription.hashCode());
result = prime * result + ((productName == null) ? 0 : productName.hashCode());
result = prime * result + productNumber;
result = prime * result + productUnits;
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
JavaBeans other = (JavaBeans) obj;
if (productDescription == null) {
if (other.productDescription != null)
return false;
} else if (!productDescription.equals(other.productDescription))
return false;
if (productName == null) {
if (other.productName != null)
return false;
} else if (!productName.equals(other.productName))
return false;
if (productNumber != other.productNumber)
return false;
if (productUnits != other.productUnits)
return false;
return true;
}

@Override
public String toString() {
return "JavaBeans [productNumber=" + productNumber + ", productName=" + productName + ", productDescription="
+ productDescription + ", productUnits=" + productUnits + "]";
}

public int getProductNumber() {
return productNumber;
}

public String getProductName() {
return productName;
}

public String getProductDescription() {
return productDescription;
}

public int getProductUnits() {
return productUnits;
}

public void setProductNumber(int productNumber) {
this.productNumber = productNumber;
}

public void setProductName(String productName) {
this.productName = productName;
}

public void setProductDescription(String productDescription) {
this.productDescription = productDescription;
}

public void setProductUnits(int productUnits) {
this.productUnits = productUnits;
}

}

最佳答案

如果您希望将可读文本打包,我建议使用 PrintWriter 进行编写 - 这会增加对代码中换行符的控制。

关于java - 如何从 JavaBeanObject(泛型)写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34467834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com