`

Java读写Properties 文件

阅读更多

private final static String SYS_TEMP_FILE = System
			.getProperty("java.io.tmpdir") + "\\9884698793643198z.properties";
	private static Map<String, String> fileNames = null;

	/**
	 * get a file path from a system temp file.
	 * 
	 * @param keyOfFileName
	 * @return
	 */
	public static final String getAFilePathFromSysTempFile(String keyOfFileName) {
		if (null == fileNames) {
			fileNames = new HashMap<String, String>();
			loadFilePathsFromSysTempFile();
		}
		String path = fileNames.get(keyOfFileName);
		return null == path ? "" : path;
	}

	private static final boolean loadFilePathsFromSysTempFile() {
		try {
			if (!new File(SYS_TEMP_FILE).exists()) {
				new File(SYS_TEMP_FILE).createNewFile();
				return true;
			}
			Properties props = new Properties();
			InputStream in = new BufferedInputStream(new FileInputStream(
					SYS_TEMP_FILE));
			props.load(in);
			Enumeration<?> en = props.propertyNames();
			while (en.hasMoreElements()) {
				String key = (String) en.nextElement();
				String prop = props.getProperty(key);
				fileNames.put(key, prop);

			}
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

	/**
	 * save a file path to a system temp file.
	 * 
	 * @param parameterName
	 * @param parameterValue
	 * @return
	 */
	public static final int saveAFilePathToSysTempFile(String parameterName,
			String parameterValue) {
		Properties prop = new Properties();
		try {
			InputStream fis = new FileInputStream(SYS_TEMP_FILE);
			prop.load(fis);

			OutputStream fos = new FileOutputStream(SYS_TEMP_FILE);
			prop.setProperty(parameterName, parameterValue);
			prop.store(fos, "Update '" + parameterName + "' value");

			fileNames.put(parameterName, parameterValue);
			return fileNames.size();
		} catch (IOException e) {
			e.printStackTrace();
			return -1;
		}
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics