public void setWorkingDirectory(String path) throws Exception {
		File directory = null;

		if(path.charAt(0) == '/') {
			directory = new File(path);
		} else {
			directory = new File(String.format("%s/%s", getWorkingDirectory(), path));
		}

		if(!directory.exists()) {
			throw new Exception("Directory not exists.");
		}

		if(!directory.isDirectory()) {
			throw new Exception("Paht is not directory.");
		}

		String[] pathArray = path.split("/");

		if(pathArray.length == 0 || pathArray[0].length() == 0) {
			workingDirectory.clear();

			for(int i = 1; i < pathArray.length; i++) {
				workingDirectory.push(pathArray[i]);
			}

			return;
		}

		for(int i = 0; i < pathArray.length; i++) {
			switch(pathArray[i]) {
			case ".":
				continue;
			case "..":
				workingDirectory.pop();
				break;
			default:
				workingDirectory.push(pathArray[i]);
				break;
			}
		}
	}