@Override
	public User getUser(String username) {

		if (username == null || username.isEmpty()) {
			throw new IllegalArgumentException("Argumento nulo");
		}

		if (!existUser(username)) {
			throw new IllegalArgumentException(
					"No existe ningun usuario con el nombre de usuario:"
							+ username);
		}

		User result = null;

		try {
			BufferedReader br = new BufferedReader(
					new FileReader(getFilePath()));
			String line = br.readLine();
			String temp;
			while (line != null) {
				temp = line.split(";")[FieldUser.Username.ordinal()].split(":")[1];

				if (username.compareTo(temp) == 0) {
					result = decodeUser(line);
					break;
				}

				line = br.readLine();
			}

			br.close();
		} catch (Exception e) {
			logger.error("Error manipulando en fichero de usuarios. ", e);
			throw new IllegalStateException(
					"Error manipulando en fichero de usuarios. ");
		}

		return result;
	}