初めてのjava.util.Properties、パラメータをコードに書くのは止め!
参考URL
JavaでHello World プロパティファイル編
カブロボシステムで実験を行うにあたって、実験ごとに変更するパラメータの値をコードに直接書くのはいかがなものかと考えたので、外部ファイルから値を読み込むようにしました。
幸い、Javaにはそういうときに利用する用のクラスがあったので利用することに。
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class ACProperties { private static ACProperties properties = new ACProperties(); private static final String kaburoboPath = "E:\\User\\大学\\卒業研究\\KabuRobo\\"; private static String mainProgram; private static String projectName; private static String projectPath; private static int code; private static int stateType; private ACProperties() { Properties pp = new Properties(); try { pp.load(new FileInputStream(kaburoboPath + "test.properties")); mainProgram = pp.getProperty("mainProgram"); code = Integer.parseInt(pp.getProperty("code")); stateType = Integer.parseInt(pp.getProperty("stateType")); projectName = mainProgram + "_" + stateType + "_" + code; projectPath = kaburoboPath + projectName + "\\"; } catch (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } }
このクラスで実験設定や、結果の保存先を指定することで自動で繰り返し実験を行うことがさらに便利になるはず!
この新クラス作成に伴って、影響しているほかのクラスも書き換え。今回の改訂でよりオブジェクト指向っぽくなったと思う。