public void deleteFile(int victimInodeNo) throws PermissionDeniedException {
		Inode victimInode = new Inode(victimInodeNo);
		Inode victimsFolder = new Inode(this.inodeNum);
		if(Directory.isWritable(victimInode) && Directory.isWritable(victimsFolder)) {
			if(victimInode.getFileType() == 'd') {
				Directory victimDir = new Directory(victimInodeNo);
				int[] tempInode = new int[victimDir.dirContent.size() - 2];
				Iterator<Entry<Integer, DirEntry>> dirEntriesNavi = victimDir.dirContent.entrySet().iterator();
				int i = 0;
				while(dirEntriesNavi.hasNext()) {
					Map.Entry<Integer, DirEntry> pairs = (Map.Entry<Integer, DirEntry>)dirEntriesNavi.next();
					if(pairs.getValue().getName().compareTo(".") != 0 && pairs.getValue().getName().compareTo("..") != 0 ) {
						tempInode[i++] = pairs.getKey();
						System.out.println(pairs.getValue().getName());
					}
				}
				for(int tempI : tempInode) {
					victimDir.deleteFile(tempI);
				}
			}
			victimInode.hardLinkmm();			//hardLinkCount--
			victimInode.writeToDisk();
			if(victimInode.getHardLinkCount() == 0) {
				victimInode.releaseBlocks();
				FreeSpaceMgnt.consumeInode(victimInodeNo);
			}
			this.dirContent.remove(victimInodeNo);
			this.writeToDisk();
		}
		else
			throw new PermissionDeniedException();
	}