public static List<String> readFile(String aFileName) throws KadaiException
	{
		// nullチェック
		if (null == aFileName) {
			throw new KadaiException(ErrorCode.FILE_IO);
		}

		BufferedReader br = null;
		List<String> list = null;
		// ファイル存在確認
		if (!new File(aFileName).exists()) {
			throw new KadaiException(ErrorCode.FILE_IO);
		}

		try {
			boolean firstLine = true;
			br = new BufferedReader(new InputStreamReader(new FileInputStream(aFileName), "UTF-8"));
			String str;
			list = new ArrayList<String>();
			while ((str = br.readLine()) != null) {
				if (firstLine) {
					str = removeUTF8BOM(str);
					firstLine = false;
				}
				list.add(str);
			}
		} catch (IOException e) {
			throw new KadaiException(ErrorCode.FILE_IO);
		} finally
		{
			try {
				if (br != null) {
					br.close();
				}
			} catch (Exception e2) {
			}
		}
		return list;
	}