java保存数据到文件-js保存xml文件到本地
发布时间:2023-06-07 11:10 浏览次数:次 作者:佚名
为了实现数据的可保存性,通常会存储在硬盘中,所以我们需要一个文件为载体。
具体步骤如下:
创建一个文件对象,指定要读取的文件的路径。创建一个 FileReader 对象,用于读取文件。将 FileReader 对象传递给 BufferedReader 构造函数,创建一个缓冲输入流对象。创建一个空的数组对象,用来存储从文件中读取出来的数据。使用 while 循环读取文件中的每一行数据,同时将数据存储到数组中。关闭输入流。 文件的写入
public static void filladd() {
String fileName = "goodsInfo";
String regex = "^\\d+,\\d+\\.\\d{2},[a-zA-Z]+$\n";
Scanner in =new Scanner(System.in);
System.out.println("请以以下格式输入:序号,价格,名称(以,为分隔)");
String goodInfo = in.nextLine();
while (!goodInfo.matches(regex)) {
System.out.println("格式错误!");
System.out.println("序号,价格,名称(以,为分隔并且价格后面有两位小数)");
System.out.print("请以以上格式输入:");
goodInfo = in.nextLine();
}
goodInfo = goodInfo + "\n"; //
try (FileOutputStream fos = new FileOutputStream(fileName, true)) {
fos.write(goodInfo.getBytes());
System.out.println("数据成功存储在文件中");
} catch (IOException e){
e.printStackTrace();
}
earPhone t3 = new earPhone();
t3.earPhone();
}
文件内的内容
301,99.00,xg1
302,199.00,se1
303,1999.00,xm5
文件的读取
public class earPhone extends Goods { //耳机子类
public void earPhone() {
Goods good = new earPhone();
goodsFill fi = () -> {
String filePath = "goodsInfo"; // 文件名
List<Goods> goodsList = new ArrayList<>();
try (FileReader fileReader = new FileReader(filePath);
BufferedReader reader = new BufferedReader(fileReader)) {
String line; // 存储文件每行数据的变量
while ((line = reader.readLine()) != null) { // 读取每一行数据
String[] data = line.split(","); // 将每行数据按逗号分隔为字符串数组
int id = Integer.parseInt(data[0]);
double price = Double.parseDouble(data[1]);
String name = data[2];
goodsList.add(new Goods(id, price, name)); // 将数据存储到 ArrayList 中
}
} catch (IOException e) {
e.printStackTrace();
}
Goods[] goods = goodsList.toArray(new Goods[goodsList.size()]); // 转换为数组
return goods;
};
try {
good.operate(fi.Fill()); //调用操作方法
} catch (MyException e) { // 捕获 MyException 异常,并输出异常信息
e.printStackTrace();
}
}
}
在这段代码中,首先创建了一个 ArrayList 对象,用于存储从文件中读取出来的商品对象。接着创建了文件输入流和缓冲输入流对象,用于读取文件中的数据。
在 while 循环中java保存数据到文件,使用 readLine() 方法读取每一行数据,并将其按逗号分隔成字符串数组,然后将其中的元素转换为对应的类型(例如 Integer.parseInt() 可以将字符串转换为整型),最后将数据封装成 Goods 对象并添加到 ArrayList 中。
最后,使用 toArray() 方法将 ArrayList 转换为数组java保存数据到文件,然后将该数组返回。
注:为了代码的演示,未关闭文件流,在使用中要注意关闭输入输出流!