亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fileaccesser.java

?? 一個模擬銀行間存款
?? JAVA
字號:
package banking;

import java.util.*;
import java.io.*;

/**
 * 對保存帳戶信息的數據文件進行讀取操作
 * 文件格式:與屬性文件格式相同("key=value"的形式)
 * @author rainliu
 */
public class FileAccesser {

	/** 保存帳號信息的數據文件 */
	private static String dataFileName = "src/banking/account.info";
	/** 文件中數據信息的分隔符 */
	private static final String DELIM = "=";
	/** 表示該行注釋的符號 */
	private static final String COMMENT = "#";

	public FileAccesser() {
	}

	/**
	 * 從數據文件中讀取帳戶信息
	 * @return List      帳戶信息的參數名和參數值
	 */
	public List readAccountInfo() {
		//檢查數據文件是否存在
		if (!checkFile(dataFileName)) return null;
				
		//保存一組用戶信息的列表
		List accountList = new ArrayList();
		//從文件中讀取數據
		Map map = readData();
		//若文件中沒有任何數據,返回空的信息列表
		if (map==null || map.size()<1) return accountList;

		//將讀出的數據轉化為帳戶信息列表
		String allId = (String)map.get("accountId");
		String allPass = (String)map.get("password");
		String allBalance = (String)map.get("balance");
		//分出各個帳戶的信息
		StringTokenizer stId = new StringTokenizer(allId,",");
		StringTokenizer stPass = new StringTokenizer(allPass,",");
		StringTokenizer stBalance = new StringTokenizer(allBalance,",");
		while (stId.hasMoreTokens()) {
			String tempID = stId.nextToken();
			String tempPass = stPass.nextToken();
			String strBalance = stBalance.nextToken();
			double tempBalance = Double.parseDouble(strBalance);
			AccountInfo ai = new AccountInfo(tempID,tempPass,tempBalance);
			accountList.add(ai);
		}
		return accountList;
	}

	/**
	 * 將帳戶信息列表寫入數據文件中
	 * @param  List      要保存到文件中的帳戶信息
	 * @return boolean   操作成功返回true,否則返回false
	 */
	public boolean writeAccountInfo(List accountList) {
		boolean result = false;
		//檢查數據文件是否存在
		if (!checkFile(dataFileName)) return false;
		
		//將帳戶信息列表轉換成key和value映射的格式
		//所有帳戶的同類信息以“,”連接
		String allId = "";
		String allPass = "";
		String allBalance = "";
		for (int i=0;i<accountList.size();i++) {
			AccountInfo tempAccount = (AccountInfo)accountList.get(i);
			allId += tempAccount.accountId + ",";
			allPass += tempAccount.password + ",";
			allBalance += tempAccount.balance + ",";
		}
		//去掉末尾的逗號
		if (allId.endsWith(",")) {
			allId = allId.substring(0,allId.length()-1);
			allPass = allPass.substring(0,allPass.length()-1);
			allBalance = allBalance.substring(0,allBalance.length()-1);
		}
		Map map = new HashMap();
		map.put("accountId",allId);
		map.put("password",allPass);
		map.put("balance",allBalance);
		//寫入文件
		if (writeData(map)==true) {
			result = true;
		}
		return result;
	}
	
	/**
	 * 從數據文件中讀取帳戶信息
	 * @return  Map        帳戶信息的參數名和參數值
	 */
	private Map readData() {
		//保存帳戶信息的參數名和參數值
		Map map = new HashMap();

		try {
			RandomAccessFile raf = new RandomAccessFile(dataFileName, "rw");
			int index;
			String s;
			while((s=raf.readLine())!=null) {
				s = s.trim();
				//忽視注釋信息
				if (s.startsWith(COMMENT)) continue;
				//若行中間有注釋,也去掉
				if ((index = s.indexOf(COMMENT))!=-1) {
					s = s.substring(0,index).trim();
				}
				//分離出參數名和參數值
				if ((index = s.indexOf(DELIM))!=-1) {
					String key = s.substring(0,index).trim();
					String value = s.substring(index+1).trim();
					map.put(key,value);
				}
			}
			raf.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
		return map;
	}

	/**
	 * 將帳戶信息列表寫入數據文件中
	 * @param  map       要保存到文件中的帳戶信息
	 * @return boolean   操作成功返回true,否則返回false
	 */
	private boolean writeData(Map map) {
		boolean result = false;
		Vector vec=new Vector();

		try {
			//先讀出文件的所有信息,并根據要保存的帳戶信息進行相應更新
			RandomAccessFile raf = new RandomAccessFile(dataFileName, "r");
			int index;
			String s;
			while((s=raf.readLine())!=null) {
				s = s.trim();
				//分離出參數名和參數值
				if (!s.startsWith(COMMENT) && (index = s.indexOf(DELIM))!=-1) {
					String key = s.substring(0,index).trim();
					String value = s.substring(index+1).trim();
					//修改參數值
					if (map.containsKey(key)) {
						s = key + DELIM + map.get(key);
					}
				}
				vec.addElement(s);
			}
			raf.close();
			
			//將最新的信息保存到文件中
			java.io.FileWriter fw = new java.io.FileWriter(dataFileName);
			BufferedWriter writer = new BufferedWriter(fw);
			//清除原有文件中的信息
			writer.write("");
			String ls = System.getProperty("line.separator");
			for (int intCount = 0; intCount < vec.size(); intCount++) {
				//讀取信息
				String strWriteRecord = (String)vec.elementAt(intCount);
				//編碼格式轉換
				strWriteRecord = new String(strWriteRecord.getBytes("ISO-8859-1"), "GB2312");
				//信息寫入
				writer.write(strWriteRecord.trim() + ls);
			}
			writer.close();
			result = true;

		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}

	/**
	 * 檢查文件是否存在,若不存在,則新建
	 * @return boolean   操作成功返回true,否則返回false
	 */
	public boolean checkFile(String fileName) {
		boolean result = false;
		try {
			//如果該文件不存在,則在banking目錄下創建一個新的文件
			File file = new File(fileName);
			if (!file.exists()) {
				//若路徑不存在,先創建路徑
				//File pathFile = dataFile.getParentFile();
				File pathFile = new File(file.getParent());
				if (!pathFile.exists()) {
					pathFile.mkdirs();
				}
				//在指定路徑下創建該文件
				file.createNewFile();
			}
			result = true;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return result;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区视频| 国产69精品久久777的优势| 欧美自拍丝袜亚洲| 又紧又大又爽精品一区二区| 欧美视频一区在线观看| 日本中文在线一区| 久久九九全国免费| 99国产精品久久久久久久久久 | 国产一区二区三区电影在线观看| 日韩一区二区在线观看视频播放| 精品一区二区在线播放| 国产视频一区二区三区在线观看| 成人国产一区二区三区精品| 一区二区三区中文在线| 91精品国产综合久久香蕉的特点| 韩国一区二区三区| 亚洲女爱视频在线| 欧美一级日韩免费不卡| 国产成人av电影免费在线观看| 亚洲欧美电影院| 欧美一级欧美三级在线观看| 成人在线综合网站| 亚洲大尺度视频在线观看| 日韩欧美中文字幕一区| 成人黄动漫网站免费app| 天堂午夜影视日韩欧美一区二区| 久久久综合精品| 欧美日韩在线播放三区四区| 狠狠色丁香婷综合久久| 一区二区在线观看视频| 欧美mv和日韩mv的网站| 欧洲日韩一区二区三区| 国产精品夜夜爽| 亚洲成人tv网| 国产精品三级久久久久三级| 欧美精品久久天天躁| 成人听书哪个软件好| 日韩激情一区二区| 亚洲人快播电影网| 国产视频不卡一区| 日韩一级欧美一级| 欧美三区在线视频| 99re热这里只有精品免费视频| 另类人妖一区二区av| 一区二区三区四区不卡在线 | 国产女人18毛片水真多成人如厕| 欧美色综合网站| av日韩在线网站| 国产精品一卡二卡| 男人的天堂亚洲一区| 一区二区久久久| 国产精品美日韩| 久久五月婷婷丁香社区| 欧美一级艳片视频免费观看| 在线欧美日韩国产| av不卡一区二区三区| 国产成都精品91一区二区三| 奇米精品一区二区三区在线观看一 | 日韩二区在线观看| 一区二区三区国产精华| 中文字幕中文字幕在线一区| 久久久久久久久99精品| 欧美年轻男男videosbes| 色婷婷av一区| 97se亚洲国产综合自在线| 丰满少妇久久久久久久| 国产精品一区二区视频| 国产乱码精品一品二品| 精彩视频一区二区三区| 精品一区二区三区香蕉蜜桃 | 国产精品婷婷午夜在线观看| 欧美精品一区二区三区蜜桃视频| 91麻豆精品91久久久久久清纯| 欧美日本一区二区在线观看| 欧美精品在线观看一区二区| 欧美日韩大陆一区二区| 7777精品伊人久久久大香线蕉最新版 | 一区在线观看免费| 中文字幕的久久| 亚洲丝袜另类动漫二区| 中文字幕字幕中文在线中不卡视频| 国产欧美日韩一区二区三区在线观看| 国产亚洲成年网址在线观看| 国产午夜久久久久| 日韩久久一区二区| 亚洲欧美视频在线观看视频| 亚洲另类在线制服丝袜| 亚洲午夜久久久久久久久电影网| 午夜精品在线看| 免费国产亚洲视频| 韩国v欧美v亚洲v日本v| 国产69精品久久99不卡| 91小视频免费观看| 欧美亚洲自拍偷拍| 欧美一级黄色片| 久久欧美一区二区| 亚洲另类色综合网站| 天天综合色天天综合| 国内外精品视频| 成人av电影在线播放| 欧美体内she精视频| 欧美电影免费观看高清完整版在 | 久久亚洲精精品中文字幕早川悠里| 久久久精品国产免费观看同学| 国产亚洲成av人在线观看导航 | 国产99久久久国产精品潘金网站| 不卡在线观看av| 欧美日韩www| 国产亚洲精品免费| 亚洲精品免费看| 美女国产一区二区| 91蜜桃视频在线| 欧美电影免费观看高清完整版在线观看| 久久看人人爽人人| 亚洲国产成人tv| 国产很黄免费观看久久| 在线观看网站黄不卡| 欧美tickling挠脚心丨vk| 亚洲视频1区2区| 久久福利资源站| 色av成人天堂桃色av| 日韩精品一区二区在线| 亚洲精品欧美激情| 国产精品99久久久久| 7878成人国产在线观看| 国产精品妹子av| 久久精品国产99国产精品| 91香蕉视频在线| 国产亚洲女人久久久久毛片| 亚洲大尺度视频在线观看| 白白色 亚洲乱淫| 欧美成人官网二区| 天天综合天天综合色| 99r精品视频| 中文字幕的久久| 国产一区二区三区四| 这里只有精品电影| 亚洲乱码中文字幕| 国产91综合一区在线观看| 91精品婷婷国产综合久久| 中文字幕在线不卡一区二区三区| 激情av综合网| 91精品国产全国免费观看| 亚洲狠狠丁香婷婷综合久久久| 国产激情一区二区三区四区 | 久久久久久久综合日本| 蜜臀av亚洲一区中文字幕| 日本精品视频一区二区| 国产精品亲子伦对白| 韩国精品免费视频| 日韩一区二区三区在线| 亚洲6080在线| 欧美日韩在线电影| 亚洲午夜激情网页| 色妞www精品视频| 国产精品久久久久aaaa| 国产成都精品91一区二区三| 欧美精品一区二区三区久久久| 久久不见久久见免费视频1| 欧美裸体一区二区三区| 亚洲成人动漫在线观看| 精品视频一区二区不卡| 无码av免费一区二区三区试看| 欧洲一区在线观看| 午夜婷婷国产麻豆精品| 欧美性xxxxxx少妇| 午夜精品一区二区三区电影天堂 | 粉嫩aⅴ一区二区三区四区| 2023国产精华国产精品| 国产资源在线一区| 日韩精品一区在线观看| 精品一区二区综合| 久久久精品免费免费| 成人在线一区二区三区| 综合色中文字幕| 色久优优欧美色久优优| 亚洲国产精品久久久久婷婷884| 欧美性大战久久久久久久蜜臀| 亚洲午夜精品17c| 日韩一本二本av| 国产一区二区三区在线观看精品| 国产网红主播福利一区二区| 成人激情文学综合网| 亚洲啪啪综合av一区二区三区| 在线观看www91| 日日骚欧美日韩| 精品播放一区二区| 国产激情视频一区二区在线观看| 国产精品另类一区| 色欧美日韩亚洲| 日韩精品一二三四| 久久久噜噜噜久噜久久综合| 岛国av在线一区| 一卡二卡欧美日韩| 欧美一二三区在线观看| 国产一区二区三区四区五区入口 | 7777精品伊人久久久大香线蕉| 美女看a上一区| 国产拍欧美日韩视频二区| 色哟哟在线观看一区二区三区|