public boolean readFAT() {

		//System.out.println("Reading FAT from disk");

		int entries= 0;

		File file = new File(cacheDir, "FAT");

		if(!file.isFile()) {
			return false;
		}

		FileInputStream fileIn;
		try {
			fileIn = new FileInputStream(file);
		} catch (IOException e) {
			return false;
		}

		DataInputStream in = new DataInputStream(fileIn);

		boolean eof = false;

		while(!eof) {

			try {
				long hash = in.readLong();
				int id = in.readInt();
				FAT.put(hash, id);
				FATList.add(hash);
				entries++;
				//System.out.println("FAT: " + Long.toHexString(hash));
			} catch (EOFException eofe) {
				System.out.println("EOF FAT");
				eof = true;
				continue;
			} catch (IOException ioe) {
				System.out.println("IO exception reading FAT");
			}

		}

		try {
			if(in != null) {
				in.close();
			}
		} catch (IOException ioe) {
			return false;
		}

		//System.out.println("Entries: " + entries);

		return true;


	}