用java程序读取js文件并修改属性的值(用json-lib读写js文件)

这篇博客介绍如何使用Java结合json-lib库来读取和修改JavaScript文件中的属性值,由于未找到Web端的解决方案,作者提供了一个后台实现方法,并期待其他读者分享web端的读写方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要读写js文件,没找到在web端读写的方法,所以弄了个后台的,希望有web端读写的方法的同学告诉我一下,感激不尽!

用java程序读写js文件:

使用的工具:json-lib

实例:


要修改的js文件内容:
define(function(){return{
"coordinator":"协调器",
"gateway":"网关",
"route":"路由",
"config_param":{//要修改这个键的值时,parentKey = "config_param"
"add":"新增",
"edit":"编辑",
"del":"删除"
}
}});

代码:
/**
* 修改js文件
* @param filePath
* @param parentKey 要添加所在对象的键
* @param key 要添加/更新的键
* @param value 要添加/更新的键对应的值
*/
public static void rwJS(String filePath,String parentKey,String key,Object value){
try {
//第一步先读入js中所有的内容放到String
File file = new File(filePath);
InputStream stream = new FileInputStream(file);
InputStreamReader isreader = new InputStreamReader(stream);
// new FileReader(new File(file))
BufferedReader reader=new BufferedReader(isreader);
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!=null){
//把换行符去掉
sb.append(line);
}
reader.close();
String sub=sb.substring(sb.indexOf("return"),sb.lastIndexOf("}"));
String jsonString=sub.substring(sub.indexOf("{"),sub.lastIndexOf("}")+1);
JSONObject jo= JSONObject.fromObject(jsonString);
//获得属性用jo.get(String key);
//修改属性使用jo.put(String key,Object value);
//jo.element(String key,Object value);put和element修改的key如果已存在,则更新value,不存在,则添加key和value
//jo.accumulate(String key,Object value);accumulate修改的key,会将新的value累加到对应key的值里
//可直接将这个jo输出到文件中
JSONObject jsObj;
if (parentKey != null){
Object obj = jo.get(parentKey);
jsObj= JSONObject.fromObject(obj);
// jsObj.element("7","78");
jsObj.element(key,value);
jo.element(parentKey,jsObj);
}else {
jo.element(key,value);
}
//组装文件内容
StringBuilder builder = new StringBuilder();
builder.append("define(function(){return");
builder.append(jo.toString());
builder.append("});");
//将内容输出到文件
FileWriter writer=new FileWriter(file);
writer.write(builder.toString());
writer.flush();
writer.close();
}catch (Exception e){
e.printStackTrace();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值