0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ResourceBundleのキー存在チェック

Posted at

実務では、プロパティファイルの読み込みとプロパティキーのキーチェックは、メソッド化して引数渡して汎用的に使えるようにしておいた方がよいと思います。

import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Sample {
	
	private final String SEND_PORT = "send.port";
	
	public void testMethod() {
	
		String sendPort = "";
		ResourceBundle bundle;
		try {
		    ResourceBundle bundle = ResourceBundle.getBundle("config");
		} catch (MissingResourceException e) {
		    // プロパティファイルが無かった時にMissingResourceExceptionがスローされる
            // TODO:例外処理
		}

		// 方法1 containsKeyメソッドでチェック
		try {
			if (resourceBundle.containsKey(SEND_PORT) {
				sendPort = resourceBundle.getString(SEND_PORT);
			} else {
				// TODO:プロパティファイルにキーが無かった時の処理
			}
		    sendPort = resourceBundle.getString(SEND_PORT);
		} catch (MissingResourceException ex) {
		    // プロパティファイルにキーが無かった時にMissingResourceExceptionがスローされる
            // TODO:例外処理
		}

		// 方法2 例外をキャッチしてスロー
		try {
		    sendPort = resourceBundle.getString("send.port");
		} catch (MissingResourceException ex) {
		    // プロパティファイルにキーが無かった時にMissingResourceExceptionがスローされる
            // TODO:例外処理
		}
	}
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?