private PackageCoverageStatistics readStats(File file) throws IOException {
		String fileName = file.getName();
		String packageName = null;
		int procedures = 0;
		int covered = -1;
		int total = -1;
		
		FileInputStream fis = new FileInputStream(file);
		InputStreamReader in = new InputStreamReader(fis, "UTF-8");
		BufferedReader reader = new BufferedReader(in);
		boolean totalLineFound = false;
		String line = null;
		while ((line = reader.readLine()) != null
				&& (packageName == null || covered == -1 || total == -1)) {
			if (line.contains(PACKAGE_DECLARATION_HEADER)) {
				packageName = line.substring(
						line.indexOf(PACKAGE_DECLARATION_HEADER) + PACKAGE_DECLARATION_HEADER.length(),
						line.indexOf(PACKAGE_DECLARATION_TAIL));
			} else if (line.contains(PROCEDURE_ROW_INDICATOR)) {
				procedures++;
			} else if (line.contains(TOTAL_ROW_INDICATOR)) {
				totalLineFound = true;
			} else if (line.contains(COVERAGE_STATS_HEADER) && totalLineFound) {
				covered = Integer.valueOf(
							line.substring(
								line.indexOf(COVERAGE_STATS_HEADER)+ COVERAGE_STATS_HEADER.length(), 
								line.indexOf('/')
							));
				total = Integer.valueOf(
							line.substring(
								line.indexOf('/') + 1,
								line.indexOf(COVERAGE_STATS_TAIL)
							));
			}
		}
		reader.close();

		PackageCoverageStatistics stat = new PackageCoverageStatistics(fileName, packageName, procedures, covered, total);
		return stat;
	}