NutzCN Logo
问答 怎么添加配置文件并读写
发布于 3078天前 作者 LuoYY 1821 次浏览 复制 上一个帖子 下一个帖子
标签:

我跟着nutzbook一直在学,现在想问下,我要是想在conf文件夹下写个配置文件并读写,该怎么写

8 回复

读写?你确定要写操作?

来自炫酷的 NutzCN

@wendal 对啊,因为我有个定时任务,前一次运行完要储存一个值作为下一次调用的参数

那应该存数据库

@wendal 就为了存一个定长字符串弄一张表?用ini文件或者properties文件不可以么?另外我要读取conf下的某个文件的话路径怎么填?

你会发现类似的需求越来越多

conf是源文件夹

// conf
//    -- abc.properties

getClass().getClassLoader().getResourceAsStream("abc.properties");

@wendal 因为我写的是静态方法,所以用的是Object.class.getResourceAsStream(),参数是"/abc.properties",直接写成"abc.properties"会报错,还有就是conf文件夹下用new FileInputStream()的方式不管是"/abc.properties"还是"abc.properties"都会报找不到文件

那是classpath下的路径

要是war没有解压,你啥都改不了(例如jboss). 依然建议用db存.

@luoyy 需要写三个文件:一个json、一个properties、一个类,参考如下:

tesseract.properties

tesseract.path=E://tesseract/tesseract.exe
# 大盘价1
njwztx.baseUrl=http://www
njwztx.imageUrl=http://www
njwztx.loginUrl=http://www
njwztx.dhhm=3
njwztx.pwd=2
njwztx.jiqima=1


tesseract.json

var ioc = {
		tesseract : {
	        type : "cn.wizzer.ocr.Tesseract",
	        fields : {
				path : {java:"$conf.get('tesseract.path')"},
				njwztx_enabled : true,
				njwztx_baseUrl : {java:"$conf.get('njwztx.baseUrl')"},
				njwztx_imageUrl : {java:"$conf.get('njwztx.imageUrl')"},
				njwztx_loginUrl : {java:"$conf.get('njwztx.loginUrl')"},
				njwztx_dhhm : {java:"$conf.get('njwztx.dhhm')"},
				njwztx_pwd : {java:"$conf.get('njwztx.pwd')"},
				njwztx_jiqima : {java:"$conf.get('njwztx.jiqima')"}
	        }
	    }
};

Tesseract.java

@IocBean
public class Tesseract {
    public String path;
    public boolean njwztx_enabled;
    public String njwztx_baseUrl;
    public String njwztx_imageUrl;
    public String njwztx_loginUrl;
    public String njwztx_dhhm;
    public String njwztx_pwd;
    public String njwztx_jiqima;
    //get set 略了~~~~~~~~~~
}

然后在入口加上

ComboIocLoader loader = new ComboIocLoader(
                    new String[]{
                            "*json", "config/ioc/","*anno", "cn.wizzer","*quartz"}
            );
            ioc = new NutIoc(loader);
            dao = ioc.get(Dao.class);
            tesseract = ioc.get(Tesseract.class);

仅作参考。。。。。。。。。

添加回复
请先登陆
回到顶部