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 stubPerson 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文件中的数据:

添加

删除

查询

成功!!

Java实现对文件的增删改查操作相关推荐

  1. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File; import java.util.ArrayList; import java.util.L ...

  2. 用 Java 对 hbase 进行CRUD增删改查操作

    本文以HBase 0.90.2为例,介绍如何在Windows系统,Eclipse IDE集成环境下,使用Java语言,进行HBase客户端编程,包含建立表.删除表.插入记录.删除记录.各种方式下的查询 ...

  3. [PYTHON] 对XML文件进行增删改查操作

    PYTHON 操作 XML 读取XML文件 关于XML的介绍 <data> 与 </data> 是一对标签的开始与结束 <property - /> 也是一个正确的 ...

  4. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  5. java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码

    本文研究的主要是java使用DOM对XML文档进行增删改查操作的相关代码,具体实例如下所示. 源代码: package com.zc.homeWork18; import java.io.File; ...

  6. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用

    前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WZY 一.JDBC是什么? Java Data Base Connectivity,java数据库连接, ...

  7. 数据库实验IDEA编程Java程序实现连接数据库以及增删改查JDBC

    IDEA编程Java程序实现连接数据库以及增删改查JDBC IDEA的mysql环境配置建议参考该博客:戳我 我用的是java11和此博客的配置略有出入,不过一般的问题都可以百度解决 这是我实验用的数 ...

  8. Java程序-单链表增删改查(实现对水浒人物的增删改查操作)

    单链表增删改查(实现对水浒人物的增删改查操作) 前言 一.链表(Linked List)介绍 二.应用实例 1.问题描述 2.代码实现 总结 前言 参考:B站,尚硅谷数据结构与算法 课程 一.链表(L ...

  9. java调用oracle删除,使用IDEA对Oracle数据库进行简单增删改查操作

    1.1 java中的数据存储技术 在java中,数据库存取技术可分为如下几类: 1.jdbc直接访问数据库 2.jdo(java data object)是java对象持久化的新的规范,也是一个用于存 ...

最新文章

  1. 使用 Truffle Develop 和 console
  2. lpk.dll是什么
  3. .net中XML编程总结
  4. c语言Winmain 错误,C语言编译错误 undefined reference to `WinMain@16'
  5. rsync的详细配置
  6. zookeeper观察者模式设计实例
  7. 千万别把有本事挣钱的人,当成臭奸商
  8. 关于网络安全检查的问题
  9. TM2008预览版试用 速度快完美兼容Vista
  10. 超分辨 :SRCNN
  11. 打印机怎么设置扫描到计算机,打印扫描一体机怎么扫描_怎样用打印机扫描文件到电脑-win7之家...
  12. 数学建模之层次分析法及其应用
  13. word_excel_office向程序发送命令时出现问题
  14. 畅享7 plus android8,华为畅享7plus和荣耀8哪个好?荣耀8与畅享7plus详细区别对比评测...
  15. 省市区三级联动area
  16. Mimikatz各模块基本用法
  17. [美]杰克·韦尔奇《赢》
  18. 二、lintcode刷题记录--二叉树的路径和
  19. Oracle数据库实现分页
  20. java字符串去重_java字符串去重方法详解,字符串如何去重?

热门文章

  1. matlab调节字体的函数,matlab 画图添加图例时,改变图例中字体大小
  2. MySQL数据库有哪些特点
  3. windows 1903用linux使用,Win10 build 1903中的WSL Update允许您从Windows访问Linux文件
  4. HDOJ---1431 素数回文[素数筛选+ltoa函数(将长整形转换成字符数组)+打表]
  5. vue 一个动态链接url转成二维码
  6. 【Pytorch的优化器总结归纳】
  7. CSS3 - 新增选择器
  8. 特征锦囊:如何根据变量相关性画出热力图?
  9. 原码、反码、补码、移码存在的意义
  10. servlet3.1规范翻译:第13章 安全