protected User readUser() throws Exception {
		if ( mainReadHandle == null ) {
			throw new Exception("Read Handle is null.");
		}
		Read in = mainReadHandle;
		if ( !in.nextLine().isEmpty()) {
			throw new Exception("Read Error.");
		}
		if ( !in.nextLine().equals("UserObjectB")) {
			throw new Exception("Read Error.");
		}
		// Ϊ乹캯׼
		String name;
		String password;
		double money;
		name = in.nextLine();
		password = in.nextLine();
		money = in.nextDouble();
		User Temp = new User(name,password,money,mainDate.getDVDMainDateArrayList());
		if ( !in.nextLine().equals("UserObjectDB")) {
			throw new Exception("Read Error.");
		}
		int size = in.nextInt();
		for (int i = 0; i < size; i++) {
			if ( !in.nextLine().equals("UserObjectDUB")) {
				throw new Exception("Read Error.");
			}
			String named = in.nextLine();
			long ID = in.nextLong();
			int buyAmount = in.nextInt();
			int rentAmount = in.nextInt();
			Temp.addSelfsDVDDate(named, ID, rentAmount, buyAmount);
			if ( !in.nextLine().equals("UserObjectDUE")) {
				throw new Exception("Read Error.");
			}
		}
		if ( !in.nextLine().equals("UserObjectDE")) {
			throw new Exception("Read Error.");
		}
		if ( !in.nextLine().equals("UserObjectE")) {
			throw new Exception("Read Error.");
		}
		return Temp;
	}