在项目中需要修改Linux主机信息,于是用了Linux支持的命令来完成操作。 该命令为 /bin/sed -i '1,$'d /var/log/XX.log 调用方法为: public static InputStream excute(String command) { InputStream inputStream = null; System.out.println(command); try{ Process process = Runtime.getRuntime().exec(command); inputStream = process.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); System.out.println(br.readLine()); }catch(Exception e){ e.printStackTrace(); } return inputStream; } 发现根本就为清空该log文件。调试了半天不知道什么原因。 我于是在主机上自己新建了一个 shell脚本rmfilecontent 该脚本中写了/bin/sed -i '1,$'d /var/log/XX.log 在调用 excute("rmfilecontent ")。It works!

评论