java 怎样把数组写进文件? 我写一个小程序用文件保存生产商的信息包括每个生产厂家所能生产的产品。我想用数组保存产品的信息,但不知道怎么把数组写进文件。大家说说这个问题怎样做比较好,不用数据库。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 放到一个xml文件里就可以了。 import java.util.*;import java.io.*;class Product implements Serializable{ private String productId; private float unitPrice; public Product(String productId ,float unitPrice) { this.productId = productId; this.unitPrice = unitPrice; } public Product() { productId = null; unitPrice = 0; } public String getProductId() { return productId; } public float getUnitPrice() { return unitPrice; } public void setProductId(String productId) { this.productId = productId; } public void setUnitPrice(float unitPrice) { this.unitPrice = unitPrice; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("[产品号:"); sb.append(productId); sb.append("][单价:"); sb.append(unitPrice); sb.append("]"); return sb.toString(); }}public class Test { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Vector v = new Vector(); String line = "Start"; String productId = null; float unitPrice = 0f; // 输入 while(!line.equalsIgnoreCase("exit")) { try{ System.out.print("请输入产品名:"); line = br.readLine(); if (line.equalsIgnoreCase("exit")) break; productId = line; System.out.print("该产品单价:"); line = br.readLine(); try { unitPrice = Float.parseFloat(line); }catch (NumberFormatException e) { unitPrice = 0; } Product product = new Product(productId,unitPrice); v.addElement(product); }catch (IOException e){ e.printStackTrace(); } } Object[] obj = v.toArray(); Object[] obj2 = null; try { // 将对象数组写入文件(只提供一思路) ObjectOutputStream oout = new ObjectOutputStream(new FileOutputStream("c:/tmp.x")); oout.writeObject(obj); // 从文件中读取 ObjectInputStream oin = new ObjectInputStream(new FileInputStream("c:/tmp.x")); obj2 = ((Object[])(oin.readObject())); // 输出读取到的内容 for (int i = 0; i < obj2.length; i ++) { System.out.println("产品信息" + i + " "+(Product)obj2[i]); } }catch (FileNotFoundException e){ e.printStackTrace(); }catch (ClassNotFoundException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } }}运行如下:F:\>javac Test.javaF:\>java Test请输入产品名:a1该产品单价:24请输入产品名:a2该产品单价:23请输入产品名:exit产品信息0 [产品号:a1][单价:24.0]产品信息1 [产品号:a2][单价:23.0] 请教javabean如何自动获得配置文件数据的 applet的问题,十万火急 构造函数 ResultSet的问题 弱弱的问一下为何该段代码的运行结果是这样? 新手高分求关于学习项目 java.lang.NoClassDefFoundError错误,高手请进.高分相送!!! 這個錯誤是神麼意思阿,神麼情況下有這樣的錯誤阿 怎么删除字符串里的单个字符? 请教一个例外类的问题 JFC Swing标准教材有没有下载 哪位有SCJD电子参考书:Sun Certified Programmer & Developer for Java 2 Study Guide
import java.io.*;
class Product implements Serializable{
private String productId;
private float unitPrice;
public Product(String productId ,float unitPrice)
{
this.productId = productId;
this.unitPrice = unitPrice;
}
public Product()
{
productId = null;
unitPrice = 0;
}
public String getProductId()
{
return productId;
}
public float getUnitPrice()
{
return unitPrice;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public void setUnitPrice(float unitPrice)
{
this.unitPrice = unitPrice;
}
public String toString()
{
StringBuffer sb = new StringBuffer();
sb.append("[产品号:");
sb.append(productId);
sb.append("][单价:");
sb.append(unitPrice);
sb.append("]");
return sb.toString();
}
}public class Test {
public static void main(String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Vector v = new Vector();
String line = "Start";
String productId = null;
float unitPrice = 0f;
// 输入
while(!line.equalsIgnoreCase("exit"))
{
try{
System.out.print("请输入产品名:");
line = br.readLine();
if (line.equalsIgnoreCase("exit"))
break;
productId = line;
System.out.print("该产品单价:");
line = br.readLine();
try {
unitPrice = Float.parseFloat(line);
}catch (NumberFormatException e)
{
unitPrice = 0;
}
Product product = new Product(productId,unitPrice);
v.addElement(product);
}catch (IOException e){
e.printStackTrace();
}
}
Object[] obj = v.toArray();
Object[] obj2 = null;
try {
// 将对象数组写入文件(只提供一思路)
ObjectOutputStream oout = new ObjectOutputStream(new FileOutputStream("c:/tmp.x"));
oout.writeObject(obj);
// 从文件中读取
ObjectInputStream oin = new ObjectInputStream(new FileInputStream("c:/tmp.x"));
obj2 = ((Object[])(oin.readObject()));
// 输出读取到的内容
for (int i = 0; i < obj2.length; i ++)
{
System.out.println("产品信息" + i + " "+(Product)obj2[i]);
}
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}
运行如下:
F:\>javac Test.javaF:\>java Test
请输入产品名:a1
该产品单价:24
请输入产品名:a2
该产品单价:23
请输入产品名:exit
产品信息0 [产品号:a1][单价:24.0]
产品信息1 [产品号:a2][单价:23.0]