日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 读取list文本_【java基础】读取本地文件赋给Bean或list、Map

發(fā)布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 读取list文本_【java基础】读取本地文件赋给Bean或list、Map 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

private Map messageTypeControllerMap; private static final String CONTROLLERS_CONFIG_PATH = "config/controller/controllers.json"; /** * 從文件中獲取 controller的配置:優(yōu)先級、消息類型、類名 */ public void init(ApplicationContext app) { this.messageTypeControllerMap = new HashMap(); try { String json = FileUtils.readFileToString(new File(CONTROLLERS_CONFIG_PATH));//gson很方便 List> controllerConfigList = GSON.fromJson(json, new TypeToken>>() { }.getType()); for (Map map : controllerConfigList) {//遍歷文件,取值 String messageType = map.get("messageType"); int priority = Integer.parseInt(map.get("priority")); String className = map.get("className"); if (null == messageType || null == className) { throw new Exception("字段缺失!"); } Class> cls = Class.forName(className); AbstractController controller = (AbstractController) app.getBean(cls); controller.setPriority(priority); controller.setMessageType(messageType); this.messageTypeControllerMap.put(messageType, controller); } } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }

文件輸入、輸出流:

https://blog.csdn.net/caixiexin/article/details/6719407

Properties:

讀取java配置文件,繼承自hashtable

方法:

getProperty(String key)通過key得到value

load(InputStream inStream)從輸入流中讀取屬性列表(鍵和元素對)

setProperty(String key,String value)調(diào)用hashtable的put方法,設(shè)置鍵值對

store(OutputStream out,String comments)將鍵值對寫入到指定文件中

clear()清除裝載的鍵值對

https://www.cnblogs.com/bakari/p/3562244.html

1/InputStream in = new BufferedInputStream(new FileInputStream(name)); Properties p= new Properties(); p.load(in); 2/ResourceBundle rb = ResourceBundle.getBundle(name,Local.getDefault()); 3/InputStream in = new BufferedInputStream(new FileInputStream(name)); ResourceBundle rb = new PropertyResourceBundle(in); 4/InputStream in = JProperties.class.getResourceAsStream(name); Properties p = new Properties(); p.load(in); 5/InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name); Properties p = new Properties(); p.load(in); 6/InputStream in = ClassLoader.getSystemResourceAsStream(name); Properties p =new Properties(); p.load(in); 7/javax.servlet.ServletContext的getResourceAsStream()方法 示例:InputStream in = context.getResourceAsStream(path); Properties p = new Properties(); p.load(in);

http://www.runoob.com/java/java-properties-class.html

利用GSON

public void init() { this.properties = new Properties(); try { this.properties.load(new FileInputStream(APPLICATION_PROPERTIES_PATH));//路徑 } catch (IOException e) { e.printStackTrace(); GiskaLogger.log(null, GiskaLogger.EXCEPTION, this.getClass().getName() + ":init", "加載文件[" + APPLICATION_PROPERTIES_PATH + "]異常[" + e + "]."); System.exit(-1); } } String json = FileUtils.readFileToString(new File(ROLE_OPERATIONS_PATH)); this.roleOperationListMap = Constants.SINGLE_GSON.fromJson(json, new TypeToken>>() { }.getType()); String platformJson = FileUtils.readFileToString(new File(PLATFORMS_PATH)); this.namePlatformMap = Constants.SINGLE_GSON.fromJson(platformJson, new TypeToken>() { }.getType());

總結(jié)

以上是生活随笔為你收集整理的java 读取list文本_【java基础】读取本地文件赋给Bean或list、Map的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。