⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mydatabasebean.java

📁 通讯录设计说明 各模块说明 myHeaderBean: 开头动画
💻 JAVA
字号:
package Communication;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.util.*;

public class myDatabaseBean
{
	private myPersonBean r[]=new myPersonBean[1000];
	private myPersonBean selected;
	private int i=0;					//计数
	public myDatabaseBean()
	{
		readDatabase();
	}
	public int getPersonCount()			//返回计数
	{
		return i;
	}
	public myPersonBean r(int a)		//返回实体
	{
		return r[a];
	}
	
	public myPersonBean getPersonInfo(String name)//根据姓名在查找该人的信息
	{
		selected=new myPersonBean();
		for(int k=1;k<=this.getPersonCount();k++)
			{
				if(r[k].name==name)
					selected=r[k];
			}
		return selected;
	}
		
	public String getMode(myPersonBean person)	//根据实体获取试题所在分组
	{
		String m="分组";
		if(person.mode==1)
			m="我的好友";
		else if(person.mode==2)
			m="我的亲人";
		else if(person.mode==0)
			m="我的同学";
		return m;
	}
	
	public void readDatabase()			//读取数据文件
	{
		try
		{
			i=0;
			String info;
			BufferedReader br=new BufferedReader(new FileReader("database.txt"));
			try
			{
			   while((info=br.readLine())!=null)
			   {
			   						//记录计数
					if(!info.equals(""))
					{
					i++;
					StringTokenizer st=new StringTokenizer(info,",");
					r[i]=new myPersonBean();
					r[i].name=st.nextToken().toString().intern();
					r[i].address=st.nextToken().intern();
					r[i].mobilephone=st.nextToken().intern();
					r[i].homephone=st.nextToken().intern();
					r[i].QQ=st.nextToken().intern();
					r[i].email=st.nextToken().intern();
					r[i].mode=Integer.parseInt(st.nextToken().intern());
					if(st.nextToken().toString().equalsIgnoreCase("true"))
					r[i].sex=true;
					else
					r[i].sex=false;
					}
				}
				br.close();
			}
			catch(IOException e){}
		}
		catch(FileNotFoundException e){}
	}
	
	public void addPersonIntoDatabase(myPersonBean addedperson)	//添加一个人追加到数据库文件中
	{
		try
		{
			//随即访问文件(读写方式访问)
			RandomAccessFile raf=new RandomAccessFile("database.txt","rw");
			raf.seek(raf.length());
			//定位到文件末尾
			String s=addedperson.name+","+addedperson.address+","+addedperson.mobilephone+","+
					addedperson.homephone+","+addedperson.QQ+","+addedperson.email+","
					+addedperson.mode+","+addedperson.sex;
			raf.writeBytes("\r\n");
			//先回车再换行
			raf.write(s.getBytes());		
			//按字节序列将该字符串写入该文件。
			raf.close();
			i++;
		}
		catch(IOException e){}
	}
	
	public int getRowForPerson(String name)				//获取信息在文件中的条目数
	{
		for(int k=1;k<=getCount();k++)
			{
				if(r[k].name==name)
				return k;
			}
		return 0;
	}
	
	public int getCount()								//获取当前读入的人数
	{
		return i;
	}
	
	public void deletePerson(String name)
	//根据姓名删除该用户
	{
		try
		{
		int row=getRowForPerson(name);
		File f=new File("update.txt");			//过渡文件
		BufferedReader br=new BufferedReader (new FileReader("database.txt"));
		BufferedWriter bw=new BufferedWriter(new FileWriter("update.txt"));
		String s;
		int count=1;
		if(row==1)
		{
			//即跳过第一行
			br.readLine();
		}
		while((s=br.readLine())!=null)
			{
				bw.write(s);
				bw.write("\r\n");
				count++;
				if(count==row)
				{
					br.readLine();
				}
			}
		bw.flush();	
		i--;
		}
		catch(FileNotFoundException E)
		{}
		catch(IOException ee){}
		writeBackToDatabase();

	}
	public void writeBackToDatabase()
	{
		try
		{
			BufferedReader br=new BufferedReader(new FileReader("update.txt"));
			BufferedWriter bw=new BufferedWriter(new FileWriter("database.txt"));
			String s;
			while((s=br.readLine())!=null)
			{
				if(!s.equals(""))
				{
				bw.write(s);
				bw.newLine();
				}
			}
			bw.flush();
			bw.close();
		}
		catch(FileNotFoundException E)
		{}
		catch(IOException ee){}
	}
	
	public static void main(String args[])
	{
		myDatabaseBean mdbb=new myDatabaseBean();
			mdbb.deletePerson("你好吗");	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -