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

📄 findfile.java

📁 银行账户管理系统 简称BAM(项目介绍及源码)
💻 JAVA
字号:
package model;

/**
 *	查找文件类(FindFile)
 *	作者:DrMeng 		日期:08/07/26  
 */
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;

public class FindFile {
	private String idFileName = "src//config//id.dat";
	private String accountFileName = "src//config//account.dat";
	private String configFileName = "src//config//config.txt";
	private String idFilePath = null;// 返回id.dat的绝对位置路径
	private String accountFilePath = null;// 返回account.dat的绝对位置路径
	private File file1 = null;
	private File file2 = null;
	private long id = 100001;

	public FindFile() {
		file1 = new File(idFileName);
		file2 = new File(accountFileName);
		idFilePath = file1.getAbsolutePath();
		accountFilePath = file2.getAbsolutePath();
		beFindFile();// 判断文件是否存在
	}

	public String getAccountFileName() {// 得到账户信息文件的绝对路径
		String daoName = null;
		String fileName = null;

		try {
			FileReader fr = new FileReader((new File(configFileName))
					.getAbsolutePath());
			BufferedReader in = new BufferedReader(fr);
			daoName = in.readLine();
			fileName = in.readLine();

			in.close();
			// System.out.println("Key="+daoName);
			// System.out.println("Value="+fileName);

			fileName = (String) ((new File(fileName)).getAbsolutePath());

		} catch (IOException e) {
			e.printStackTrace();
		}
		return fileName;
	}

	public void writeIdToFile() {// 将初始ID写到文件
		DataOutputStream out = null;
		try {
			FileOutputStream fo = new FileOutputStream(idFilePath);
			out = new DataOutputStream(fo);
			out.writeLong(id);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (out != null)
					out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	public String getIdFilePath() {
		return idFilePath;
	}

	public String getAccountFilePath() {
		return accountFilePath;
	}

	// 如果有一个文件不存在,就全部删掉重新创建
	public synchronized void beFindFile() {

		if (!(file1.exists() && file2.exists())) {// 两个文件有一个不存在
			if (file1.exists()) { //
				file1.delete();
			} else if (file2.exists()) {
				file2.delete();
			}

		}

		if (!(file1.exists() && file2.exists())) {

			try {
				file1.createNewFile();
				file2.createNewFile();
				writeIdToFile();// 写个初始id=100001到文件
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} finally {
				// System.out.println("文件关闭成功!");
			}
		}

	}

	public static void main(String[] args) {

		FindFile find = new FindFile();
		System.out.println(find.getIdFilePath());
		System.out.println(find.getAccountFilePath());
		System.out.println(find.getAccountFileName());

	}
}

⌨️ 快捷键说明

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