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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

java guava 使用_java – 使用Guava从属性文件创建对象

發(fā)布時(shí)間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java guava 使用_java – 使用Guava从属性文件创建对象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Properties類(lèi)是HashTable的子類(lèi),HashTable又實(shí)現(xiàn)了Map.

你像往常一樣加載它:

Properties properties = new Properties();

try {

properties.load(new FileInputStream("filename.properties"));

} catch (IOException e) {

}

編輯:好的,所以你想將它轉(zhuǎn)換為Map< String,Datasource> 😉

//First convert properties to Map

Map m = Maps.fromProperties(properties);

//Sort them so that password < url < user for each datasource and dataSource1.* < dataSource2.*. In your case default string ordering is ok so we can take a normal treemap

Map sorted = Maps.newTreeMap();

sorted.putAll(m);

//Create Multimap> mapping datasourcename->[password,url, user ]

Function, String> propToList = new Function() {

@Override

public String apply(Map.Entry entry) {

return entry.getKey().split("\\.")[0];

}

};

Multimap nameToParamMap = Multimaps.index(m.entrySet(), propToList);

//Convert it to map

Map> mm = nameToParamMap.asMap();

//Transform it to Map

Map mSD = Maps.transformEntries(mm, new EntryTransformer, DataSource>() {

public DataSource transformEntry(String key, Collection value) {

// Create your datasource. You know by now that Collection is actually a list so you can assume elements are in order: [password, url, user]

return new Datasource(.....)

}

};

//Copy transformed map so it's no longer a view

Map finalMap = Maps.newHashMap(mSD);

可能有一種更簡(jiǎn)單的方法,但這應(yīng)該工作:)

還是你用json或xml更好.您還可以從不同的文件加載不同數(shù)據(jù)源的屬性.

edit2:少用番石榴,更多java:

//Sort them so that password < url < user for each datasource and dataSource1.* < dataSource2.*. In your case default string ordering is ok so we can take a normal SortedSet

SortedSet sorted = new SortedSet();

sorted.putAll(m.keySet);

//Divide keys into lists of 3

Iterable> keyLists = Iterables.partition(sorted.keySet(), 3);

Map m = new HashMap();

for (keyList : keyLists) {

//Contains datasourcex.password, datasroucex.url, datasourcex.user

String[] params = keyList.toArray(new String[keyList.size()]);

String password = properties.get(params[0]);

String url = properties.get(params[1]);

String user = properties.get(params[2]);

m.put(params[0].split("\\.")[0], new DataSource(....)

}

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的java guava 使用_java – 使用Guava从属性文件创建对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 国产草草浮力影院 | 日产欧产va高清 | 日本久久一区二区 | 女人的天堂av | 黑人操日本女优 | 久久超级碰碰 | 日本草逼视频 | 久久久无码一区二区三区 | 精品国产999 | 免费大黄网站 | 午夜精品一区二区三区在线观看 | 国产又黄又嫩又滑又白 | 黄色免费视频观看 | 国产麻豆剧果冻传媒白晶晶 | 4hu最新网址 | 日韩三级视频 | 美女羞羞动态图 | 淫五月天 | 亚洲日b视频| 国产超碰91 | 99在线看| 性生交大片免费看视频 | 日本在线观看视频网站 | 成人开心网 | 久久久久女人精品毛片九一 | 国产高清免费视频 | 日本猛少妇色xxxxx猛叫 | 超碰人人在线 | 日本成人一二三区 | 无码少妇一级AV片在线观看 | 4388成人网 | 久综合网 | 欧美精品a区 | www.17c.com喷水少妇 | 色噜噜狠狠一区二区三区果冻 | 男男play视频| 天天看天天摸天天操 | 97视频久久久 | 国产无遮挡又黄又爽又色视频 | 成人小视频免费观看 | 日韩精品高清视频 | 这里有精品视频 | 美女露胸软件 | 91在线无精精品一区二区 | 色av影院| 大屁股白浆一区二区三区 | 狠狠爱夜夜爱 | 午夜黄色在线观看 | 欧美a级肉欲大片xxx | 在线观看日韩精品 | 国产破处av| 处女朱莉第一次 | 男人的天堂一区二区 | 在线观看久 | 欧美成人影院 | 免费看黄色一级片 | 2019中文字幕在线免费观看 | 午夜少妇视频 | 一区二区网站 | 无码精品人妻一二三区红粉影视 | 天天爽夜夜爽一区二区三区 | 国产精品婷婷午夜在线观看 | 在线播放精品视频 | 国产精品一区二区无线 | 一区二区三区高清在线观看 | 中文天堂在线资源 | 欧美怡红院视频 | 精品视频免费在线 | www,超碰| 男女网站视频 | 97av视频| 国产精品21p | 成人午夜视频在线观看 | 欧美日韩免费观看一区=区三区 | 97在线观视频免费观看 | 人人九九精 | 在线观看亚洲精品 | 女人18毛片水真多 | 伊人天天干| 精品久久久久中文慕人妻 | 国产精品资源站 | 国产看黄网站 | 高h文在线 | 天堂在线视频免费观看 | 国产精品--色哟哟 | 婷婷久久久久 | 日韩国产精品久久 | 国产原创在线 | 久久久久99精品成人片 | 国产精品女人久久久 | 日韩av色| 久久久免费毛片 | 永久视频在线观看 | 裸体裸乳免费看 | 国产一区二区三区精品视频 | 奇米影视中文字幕 | 国产视频99 | 国产欧美日韩精品在线 | 国内精品久久久久久久 |