在Linux下,往mfsexports.cfg文件中插入数据,格式如:172.16.1.0/24 / rw。
1.我怎么控制当我插入第二条数据时可以自动换行?<有需要注意格式吗?>
2.还有往mfsexports.cfg文件中的插入数据的格式怎么控制?
3.执行
Java代码
[code="java"]Process process = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","mpstat |grep all |awk '{print $4}'"});// Linux中获取cpu利用率命令 [/code]
.假如返回的是利用率0.36.那结果是0.36%或者就是0.36?
4.
Java代码
[code="java"]/**
@param ip
*/
public void replaceIP(String ip){
BufferedReader br;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream("/home/mfs/etc/mfsmetalogger.cfg")));
StringBuffer sb = new StringBuffer();
String str = null;
while((str = br.readLine())!= null)
sb.append(str + "\r\n");
FileOutputStream file = new FileOutputStream("/home/mfs/etc/mfsmetalogger.cfg");
int start=sb.lastIndexOf("MASTER_HOST = ");
int end=sb.lastIndexOf("MASTER_PORT = ");
String bip=sb.substring(start+12, end);
file.write(sb.toString().replace(bip,ip).getBytes());
br.close();
file.close();
} catch (Exception e) {
e.printStackTrace();
}
} [/code]
这个方法能成功替换掉Linux下mfsmetalogger.cfg文件中的MASTER_HOST = 后的值吗?(IP)。
我知道分数不多(我已经没分了),但希望各位大哥能尽力回答,小弟急求,拜谢!
简单替换这一个的话[code="java"]
while ((str = br.readLine()) != null) {
if (str.startsWith("# MASTER_HOST = ")) {
str = "# MASTER_HOST = " + ip;
}
sb.append(str + l);
}
[/code]
1.插入一行数据时加个换行符
[code="java"]String l = System.getProperty("line.separator");[/code]
2. 就是一行字符串,自己组装起来就行了
3. 把命令在系统上执行一下,看结果是什么,不同的系统还可能不一样呢
4. 你mfsmetalogger.cfg文件内容是什么样的?不过看样子逻辑也不太对