学习笔记一

简单对txt文档实现增删改查:

1、查看全部信息:
在这里插入图片描述

/**
 * 
 */
package com.zy.student;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

/**
 * @author wc201 
 * 读取文件
 */
public class Reader {

	/**
	 * 读取文件
	 * @return 
	 */
	public List<Student> getRead() {

		BufferedReader Reader = null;
		String temp = null;
		List<Student> list = new ArrayList<Student>();
		
		try {
			Reader = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\abc.txt"),"UTF-8"));
			while((temp = Reader.readLine())!= null) {				
				list.add(Student.getList(temp));
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//return list;
		return list;
	}
}

2、添加个人信息:

在这里插入图片描述

package com.zy.student;

import java.io.BufferedReader;

import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Writer {

	/**
	 * 写入文件	 
	 * @return 
	 */
	public ArrayList<Student> getWrit() {
		
		Scanner scanner = new Scanner(System.in);
		ArrayList<Student> arraylist = new ArrayList<Student>();		
		FileWriter filewriter = null;
		BufferedReader Reader = null;
		String temp = null;
		int number = 0;
		
		int i = 0;
		try {
			Reader = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\abc.txt"),"UTF-8"));
			while((temp = Reader.readLine())!= null) {				
				i++;
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
				
		try {			
			filewriter = new FileWriter("e:\\abc.txt",true);//加true为追加模式				
			do {				
			Student student = new Student();
			
			System.out.print("输入姓名:");	
			student.setName(scanner.next());
			System.out.print("输入年龄:");			
			student.setAge(scanner.nextInt());			
			System.out.print("输入属性:");	
			student.setImage(scanner.next());
			System.out.print("输入爱好:");	
			student.setHobby(scanner.next());			
			arraylist.add(student);
			
			System.out.print("\n1、继续添加个人信息 2、退出添加个人信息:");			
			number = scanner.nextInt();
			}while(number==1);
						
			for(Student stu:arraylist){//循环写入					
				filewriter.write(i+"、:"+stu.getName()+":"+stu.getAge()+":"+stu.getImage()+":"+stu.getHobby()+"\n");//写入\n换行							    
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			
			try {
				filewriter.flush();
				filewriter.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}			
		}
		return arraylist;		
	}
	
}

3、删除个人信息:

在这里插入图片描述

/**
 * 
 */
package com.zy.student;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author wc201
 *
 */
public class Deleter {

	/**
	 * 删除文件
	 * @return 
	 */
	public List<Student> getDelete() {

		BufferedReader Reader = null;
		FileWriter filewriter = null;
		String temp = null;
		String id = null;
		List<Student> list = new ArrayList<Student>();
			    
	    Scanner scanner = new Scanner(System.in);
	    System.out.print("输入你要删除信息的id:");
	    id = scanner.next();
		try {
			Reader = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\abc.txt"),"UTF-8"));									
			while((temp = Reader.readLine())!= null) {
				Student student = new Student();
				String[] st = temp.split(":");				
				if(!st[0].equals(id+"、")) {
					list.add(Student.getList(temp));
				}						
			}		
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		
		try {
			
			filewriter = new FileWriter("e:\\abc.txt");	
			int i = 0;
			for(Student stu:list){//循环写入				
				filewriter.write(i+"、:"+stu.getName()+":"+stu.getAge()+":"+stu.getImage()+":"+stu.getHobby()+"\n");//写入\n换行				
			    i++;
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			
			try {
				filewriter.flush();
				filewriter.close();
			} catch (IOException e) {
			// TODO Auto-generated catch block
				e.printStackTrace();
			}			
		}			
		return list;					
	}
	
}

4、修改个人信息:

在这里插入图片描述

/**
 * 
 */
package com.zy.student;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author wc201
 * 修改文件
 */
public class Alter {

	public List<Student> getAlter() {

		BufferedReader Reader = null;
		FileWriter filewriter = null;
		String temp = null;
		String id = null;
		List<Student> list = new ArrayList<Student>();
			    
	    Scanner scanner = new Scanner(System.in);
	    System.out.print("输入你要修改信息的id:");
	    id = scanner.next();
		try {
			Reader = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\abc.txt"),"UTF-8"));									
			while((temp = Reader.readLine())!= null) {
				Student student = new Student();
				String[] st = temp.split(":");					
				if(st[0].equals(id+"、")) {	
					student.setId(id+"、");
					System.out.print("\n输入姓名:");
					student.setName(scanner.next());
					System.out.print("输入年龄:");			
					student.setAge(scanner.nextInt());				
					System.out.print("输入属性:");	
					student.setImage(scanner.next());
					System.out.print("输入爱好:");	
					student.setHobby(scanner.next());			
					list.add(student);
				}
				if(!st[0].equals(id+"、")) {
					list.add(Student.getList(temp));
				}				
			}		
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		
		try {			
			filewriter = new FileWriter("e:\\abc.txt");	
			int i = 0;
			for(Student stu:list){//循环写入				
				filewriter.write(i+"、:"+stu.getName()+":"+stu.getAge()+":"+stu.getImage()+":"+stu.getHobby()+"\n");//写入\n换行				
			    i++;
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {			
			try {
				filewriter.flush();
				filewriter.close();
			} catch (IOException e) {
			// TODO Auto-generated catch block
				e.printStackTrace();
			}			
		}			
		return list;					
	}
	
}

5、学生类:

/**
 * 
 */
package com.zy.student;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author wc201 包含学生各种基本信息
 *
 */
public class Student {
	
	/**学生序号**/
	private String id;
	
	/**学生姓名**/
	private String name;  
	
	/**学生年龄**/
	private int age;
	
	/**学生属性**/
	private String image;
	
	/**学生爱好**/
	private String hobby;

	public Student() {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.image = image;
		this.hobby = hobby;
	}
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	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;
	}

	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	public String getHobby() {
		return hobby;
	}

	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	
	public static Student getList(String str) {
		Student student = new Student();
		String[] st = str.split(":");
		student.setId(st[0]);
		student.setName(st[1]);
		student.setAge(Integer.parseInt(st[2]));
		student.setImage(st[3]);
		student.setHobby(st[4]);
		return student;
	} 
	
	/**
	 * 输出格式
	 */
	public void getMan() {
		String str = String.format("%s \t%s \t%d \t%s \t%s",this.id,this.name,this.age,this.image,this.hobby);
		System.out.println(str);
	}
	
	/**
	 * 重写toString
	 */
    public String toString() {	
		return "id:"+this.id+",姓名:"+this.name+",年龄:"+this.age+",是个"+this.image+",喜欢"+this.hobby;
	}

}

6、测试类:

/**
 * 
 */
package com.zy.student;

import java.util.List;
import java.util.Scanner;

/**
 * @author wc201 测试类
 *
 */
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		StringBuffer sb = new StringBuffer();
		sb.append("\n=====================信息管理系统======================\n");
		sb.append("=====================================================\n\n");
		sb.append("1 - 查看所有信息\n");
		sb.append("2 – 写入个人信息\n");
		sb.append("3 – 删除个人信息\n");	
		sb.append("4 – 修改个人信息\n");
		sb.append("\n=====================================================\n");
		
		Scanner scanner = new Scanner(System.in);
		int condition = 0;
		do {
			System.out.println(sb);
			System.out.print("你的选择:");

			int Selection = scanner.nextInt();			
			switch (Selection) {
			case 1:
				System.out.println("\n查看所有信息:\n");
				System.out.println("编号\t姓名\t年龄\t属性\t爱好\n");
				Read();
				break;
			case 2:
				System.out.println("\n添加个人信息:\n");
				Write();
				break;
			case 3:
				System.out.println("\n删除个人信息:\n");
				Delete();
				break;
			case 4:
				System.out.println("\n修改个人信息:\n");
				Alter();
				break;
			default:
				System.out.println("没输对!");
			}
			System.out.print("\n是否继续操作(1、继续操作  2、退出系统):");
			condition = scanner.nextInt();
		} while (condition == 1);

	}
	
	/**
	 * 读取数据
	 */
	public static void Read() {
		Reader reader = new Reader();
		List<Student> list = reader.getRead();
		for(Student stu:list) {
			stu.getMan();
		}
	}
	
	/**
	 * 写入数据
	 */
	public static void Write() {
		Writer writer = new Writer();
		writer.getWrit();
	}

    /**
     * 删除数据
     */
    public static void Delete() {
	    Deleter deleter = new Deleter();	    	    
		List<Student> list = deleter.getDelete();
		System.out.println("\n删除后的信息为:\n");
		System.out.println("编号\t姓名\t年龄\t属性\t爱好\n");
		for(Student stu:list) {
			stu.getMan();
		}
	}
    
    /**
     * 修改数据
     */
    public static void Alter() {
	    Alter alter = new Alter();	    	    
		List<Student> list = alter.getAlter();
		System.out.println("\n修改后的信息为:\n");
		System.out.println("编号\t姓名\t年龄\t属性\t爱好\n");
		for(Student stu:list) {
			stu.getMan();
		}
	}
    
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值