用java程序读取js文件并修改属性的值(用json-lib读写js文件)
2017-05-18 18:00
411 查看
要读写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();
}
}
用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();
}
}
相关文章推荐
- 在SharePoint 2013 之中使用JS从Add-in程序中读取用户配置文件的属性
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- Java读取json文件并对json数据进行读取、添加、删除与修改操作
- java中经常用到的读写配置文件的信息properties属性的写入,读取例子
- 使用java 程序创建格式为utf-8文件的方法(写入和读取json文件)
- java属性文件读取,属性修改
- java中经常用到的读写配置文件的信息properties属性的写入,读取例子
- Java读取json文件并对json数据进行读取、添加、删除与修改操作
- java中properties属性文件的读写修改操作
- 使用java程序读取配置文件中的相关属性值-asp.net关注
- java读取和修改Properties属性文件的value值
- JAVA读取属性文件来连接数据库
- Java程序中的配置文件的存放和读取
- Java 读取xml文件内容程序小结
- java中属性文件读取的例子
- 属性文件读写java.util.Properties
- 【java】:对属性文件的读写操作,中文字符解决方案
- Java程序中的配置文件的存放和读取
- Java 不能读取appletviewer的属性文件
- 一个地址薄的小程序,JAVA GUI界面,对文件进行随机读写。