Java实现对文件的增删改查操作
程序员文章站
2022-09-02 18:13:59
1.建立一个文件存放数据2.首先创建一个person类,声明姓名,年龄。下面展示一些 内联代码片。class Person {String name;int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(i...
1.建立一个文件存放数据
2.首先创建一个person类,声明姓名,年龄。
下面展示一些 内联代码片
。
class Person {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3.创建工具类,对文件进行读取,写入,修改等操作。
下面展示一些 内联代码片
。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import com.alibaba.fastjson.JSON;
public class Tools {
public static String file_path = "E:\\javahd\\day1103\\src\\作业\\test.txt";
// 读文件
private static String read_file() throws IOException {
File my_file = create_file_obj();
String content = null;
// 读文件
StringBuilder result = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(my_file));
String s = null;
while ((s = br.readLine()) != null) {
result.append(s);
}
br.close();
content = result.toString();
return content;
}
// 写文件
private static void write_file(String content) throws IOException {
File file = create_file_obj();
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(content);
writer.flush();
writer.close();
}
// 創建文件對象
private static File create_file_obj() {
File my_file = new File(file_path);
return my_file;
}
// 將 Person 數組對象 轉變成 字符串的方法
private static String arr_to_string(ArrayList<Person> per_arr) {
String res = JSON.toJSONString(per_arr);
return res;
}
// 將 Person 數組字符串 轉變成 對象的方法
private static ArrayList<Person> str_to_arr(String content) {
ArrayList<Person> arr = (ArrayList<Person>) JSON.parseArray(content.toString(), Person.class);
return arr;
}
// 從 文件中 獲取 數組對象
private static ArrayList<Person> file_to_arr() throws IOException {
String file_con = read_file();
ArrayList<Person> per_arr = str_to_arr(file_con);
return per_arr;
}
// 將 數組對象 存入文件
private static void arr_to_file(ArrayList<Person> per_arr) throws IOException {
String arr_str = arr_to_string(per_arr);
write_file(arr_str);
}
// 添加 新人
public static void add_new_per(Person per) throws IOException {
ArrayList<Person> per_arr = file_to_arr();
per_arr.add(per);
arr_to_file(per_arr);
System.out.println("添加新人成功....");
}
// 查詢 人
public static String show_per(String name) throws IOException {
String res = null;
ArrayList<Person> per_arr = file_to_arr();
for (int i = 0; i < per_arr.size(); i++) {
if (name.equals(per_arr.get(i).name)) {
res = "姓名: " + per_arr.get(i).name + " 年齡: " + per_arr.get(i).age;
System.out.println(res);
break;
}
}
return res;
}
// 刪除 人
public static void delete_per(String name) throws IOException {
ArrayList<Person> per_arr = file_to_arr();
int name_index = -1;
for (int i = 0; i < per_arr.size(); i++) {
if (name.equals(per_arr.get(i).name)) {
name_index = i;
break;
}
}
if (name_index == -1) {
System.out.println("查無此人");
} else {
per_arr.remove(name_index);
System.out.println("刪除成功...");
arr_to_file(per_arr);
}
}
// 修改 人
public static void update_per(String name, int age) throws IOException {
ArrayList<Person> per_arr = file_to_arr();
for (int i = 0; i < per_arr.size(); i++) {
if (name.equals(per_arr.get(i).name)) {
per_arr.get(i).age = age;
System.out.println("修改成功....");
break;
}
}
arr_to_file(per_arr);
}
// 查詢 人
public static String show_all_per() throws IOException {
String res = null;
ArrayList<Person> per_arr = file_to_arr();
for (int i = 0; i < per_arr.size(); i++) {
System.out.println("姓名: " + per_arr.get(i).name + " 年齡: " + per_arr.get(i).age);
}
return res;
}
}
5.创建一个类实现工具类的方法操作。
下面展示一些 内联代码片
。
import java.io.IOException;
import java.util.Scanner;
public class Demo0 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Person per = new Person();
System.out.println("***********************");
System.out.println("1.增加"+ " "+"2.刪除"+ " "+ "3.修改");
System.out.println(" ");
System.out.println("4.查询" +" " +"5.查询全部"+" "+ "6.退出");
System.out.println("***********************");
Scanner my_input = new Scanner(System.in);
int a = my_input.nextInt();
switch(a) {
case 1:
System.out.println("请输入姓名:");
String b = my_input.next();
System.out.println("请输入年龄:");
int c = my_input.nextInt();
per.name=b;
per.age=c;
Tools.add_new_per(per);
break;
case 2:
System.out.println("请输入要删除人的姓名:");
String d = my_input.next();
per.name= d;
Tools.delete_per(d);
break;
case 3:
System.out.println("请输入要修改人的姓名:");
String m = my_input.next();
System.out.println("请输入要修改人的年龄:");
int n = my_input.nextInt();
per.age=n;
per.name= m;
Tools.update_per(m, n);
break;
case 4:
System.out.println("请输入要查询人的姓名:");
String q = my_input.next();
per.name = q;
Tools.show_per(q);
break;
case 5:
System.out.println("显示全部人的信息!");
Tools.show_all_per();
break;
case 6:
System.out.println("退出!");
break;
default :
System.out.println("输入错误,退出!");
break;
}
}
}
6.运行结果展示:
txt文件中的数据:
添加
删除
查询
成功!!
本文地址:https://blog.csdn.net/qq_44086320/article/details/109631061
上一篇: PHP和正则表达式教程集合之一第1/2页
下一篇: Spring:依赖注入(DI)学习笔记