JAVA - 普通類讀取WEB-INF里面配置文件


服務器:Tomcat 9

注意問題:配置文件應該放入Tomcat的正式工程目錄中測試。

可用代碼:

package com.daoen.rtis.test;

import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Properties;

public class Test {

	public void GetPro() {

		try {

			String fileName = "db.txt";// property文件名
			String filePath = getWebPath(fileName);// 得到property文件在web工程里的全路徑名稱

			System.out.println(filePath);

			Reader myReader = new FileReader(fileName);// 讀取property文件

			Properties prop = new Properties();// 創建Properties類
			prop.load(myReader);// 用Properties類對象加載文件

			System.out.println(prop.getProperty("ip"));
			System.out.println(prop.getProperty("port"));
			System.out.println(prop.getProperty("user"));
			System.out.println(prop.getProperty("password"));

			myReader.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 得到web容器路徑
	// 注意:要在正式發布的web工程里面加入文件,不能在源代碼工程里測試。
	public static String getWebPath(String fileName) {
		// file:/D:/JavaWeb/.metadata/.me_tcat/webapps/TestBeanUtils/WEB-INF/classes/
		String path = Thread.currentThread().getContextClassLoader().getResource("").toString();

		// 去掉返回路徑中各種不需要的東西
		path = path.replace('/', '\\'); // 將/換成\
		path = path.replace("file:", ""); // 去掉file:
		// path = path.replace("classes\\", ""); // 去掉class\
		path = path.substring(1); // 去掉第一個\,如 \D:\JavaWeb...

		// 如果有文件名,則在路徑上加入文件名
		if (fileName.isEmpty() == false) {
			path += fileName;
		}

		return path;
	}

}  

參考:

https://blog.csdn.net/shokuninn/article/details/53808629

https://www.cnblogs.com/lingtiaoti/p/9500322.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM