@Override
	public FileContent read(String fileName) throws FileNotFoundException,
			IOException, RemoteException {
		FileContent data = new FileContent(fileName);
		ReadWriteLock lock = null;
		if (!fileReadWriteLock.containsKey(fileName)) {
			lock = new ReentrantReadWriteLock();
			fileReadWriteLock.put(fileName, lock);
		} else {
			lock = fileReadWriteLock.get(fileName);
		}

		lock.readLock().lock();
		Scanner myScanner = new Scanner(new File(dir + "/" + fileName));
		while (myScanner.hasNext()) {
			data.appendData(myScanner.nextLine());
			if (myScanner.hasNext())
				data.appendData("\n");
		}
		myScanner.close();
		lock.readLock().unlock();

		return data;
	}