亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2729 | 回復(fù): 4
打印 上一主題 下一主題

如何在編譯時(shí)見一個(gè)文本文件內(nèi)容加載至一個(gè)String變量? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-11-10 19:25 |只看該作者 |倒序?yàn)g覽
一些文本文件需要加載到程序里面,但是加載后再不會(huì)變化.所以考慮編譯時(shí)就載入,增加效率減少系統(tǒng)開銷,不需要運(yùn)行時(shí)再一次一次的加載.
不知道又沒有方法可以這么作,我嘗試了final static,如下所示,不能得到想要的結(jié)果,刪除test.txt文件就會(huì)報(bào)錯(cuò).還請各位大俠指點(diǎn).
  1 import java.io.File;
  2 import java.io.FileInputStream;
  3
  4 public class FSString{
  5     public final static String TEST = getContent("test.txt");
  6
  7     private static String getContent(String filename){
  8         try{
  9             File file = new File(filename);
 10             int length = (int)file.length();
 11             byte[] content = new byte[length];
 12             FileInputStream fis = new FileInputStream(file);
 13             fis.read(content);
 14             return (new String(content));
 15         }
 16         catch(Exception e){
 17             System.out.println(e.getMessage());
 18             return "Error";
 19         }
 20     }
 21
 22     public static void main(String[] args){
 23         System.out.println(FSString.TEST);
 24     }
 25 }

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-11-11 09:17 |只看該作者
Static變量,是在當(dāng)前類載入的時(shí)候,才初始化的;

這樣并不能實(shí)現(xiàn)類似C語言的靜態(tài)編譯,把資源編譯到class文件中;

可選的方法:
For Web:
web.xml添加加載Servlet實(shí)現(xiàn);

For General:
main入口方法中,首先調(diào)用該類的某個(gè)靜態(tài)方法,觸發(fā)一下加載就可以;

靜態(tài)數(shù)據(jù)是可以做到的;

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-11-11 17:58 |只看該作者

回復(fù) #2 bohemia 的帖子

謝謝回復(fù),不過你的方法仍然沒有能夠把資源編譯到class里面,我其實(shí)就是想把資源編譯進(jìn)去,不用每次調(diào)用類都要讀取一次文件,因?yàn)榫幾g以后,資源文件就不會(huì)變化了,所以能嵌入是最好的.

我的另一個(gè)想法是寫一個(gè)類,根據(jù)文本文件生成一個(gè)新類,然后再編譯.
不過如果能有更簡單的,更直接的方法更好.

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-11-11 19:32 |只看該作者
呵呵.也許你的方法也好;;

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2008-11-12 21:10 |只看該作者
編譯時(shí)? 那就只能把文件內(nèi)容寫到 .java 文件中了。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP