notice Java 33

change



-------------------------------------------------
checkIfDirExists(XXX_DIR);

	private void checkIfDirExists(String dir) {
		File f = new File(dir);
		if (!f.exists()) {
			throw new RuntimeException("ディレクトリが存在しません:" + dir);
		}
	}

			if (list001.isEmpty()) {
				System.out.println("[XXX]XXX001データがありませんでした");
			} else {
				String dir = String.join(File.separator, fileExportProperty.getIryoDir(), "TEST_DATA", yyyyMMddhhmmss);
				writeIbsTr001Csv(list001, dir);
			}

	private void writeIbsTr001Csv(List<IbsTr001> list, String dir) throws Exception {
		mkdirs(dir);
		File file = new File(dir, "IbsTr001.csv");
		try {
			writeCsv(file, list, IbsTr001.FIELDS);
			System.out.println("[XXX]XXX001作成に成功しました");
		} catch (Exception e) {
			System.out.println("異常終了[XXX]XXX001作成に失敗しました");
			throw e;
		}
	}

	//CSVファイル出力
	private int writeCsv(File file, List<?> list, String[] fields) throws IOException {
		try (PrintWriter pw = getWriter(file)) {
			pw.println(String.join(",", getHeader(fields)));
			for (Object row : list) {
				pw.println(String.join(",", getValues(fields, row)));
			}
		}
		return list.size();
	}

	//ライター取得
	private PrintWriter getWriter(File file) throws IOException {
		FileOutputStream fos = new FileOutputStream(file);
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8"));
		PrintWriter pw = new PrintWriter(bw);
		return pw;
	}

	//ヘッダ行を取得する
	private String[] getHeader(String[] fields) {
		return Arrays.stream(fields).map(String::toUpperCase).toArray(String[]::new);
	}

	//指定フィールド値を取得する
	private String[] getValues(String[] fields, Object obj) {
		Class<?> clazz = obj.getClass();
		List<String> values = new ArrayList<>();
		for (String field : fields) {
			try {
				Field f = clazz.getDeclaredField(field.toLowerCase());
				f.setAccessible(true);
				values.add(Objects.toString(f.get(obj), ""));
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return values.toArray(new String[values.size()]);
	}

	private void onFailure(Exception e) {
		e.printStackTrace();
		deleteFiles(new File(fileExportProperty.getIryoDir()));
		deleteFiles(new File(fileExportProperty.getKensinDir()));
	}

	private void mkdirs(String dir) {
		File file = new File(dir);
		if (!file.exists())
			file.mkdirs();
	}

	private void deleteFiles(File dir) {
		for (File file : dir.listFiles()) {
			if (file.isDirectory()) {
				deleteFiles(file);
			}
			file.delete();
		}
	}

-------------------------------------------------