在我的程序中,我正在执行一个将输出写入文件的shell脚本。 我想逐行显示该文件内容。 这两项操作必须同时进行。
这是我的代码:
public static void myfun(String abc) throws IOException, InterruptedException {
String customer = "xyz";
nmapoutfile=runMT.instdir+"/var/nmapout."+customer;
String nmapstatusfile = runMT.instdir+"/logs/nmapout."+customer+".log";
String nmapdonefile = runMT.instdir+"/logs/nmapout."+customer+".done";
String nmapcommand=runMT.instdir+"/bin/doscan.sh "+nmapoutfile+" "+IPRange+" "+nmapstatusfile+" "+nmapdonefile;
System.out.println(nmapcommand);
Runtime r = Runtime.getRuntime();
Process pr = r.exec(nmapcommand);
try {
BufferedReader inbr = new BufferedReader (new FileReader(new File(nmapstatusfile)));
}
catch(Exception e){
e.printStackTrace();
}
while (inbr.readLine()!=null){
System.out.println("Line is .. " + inbr.readLine());
}
pr.waitFor();
}
如何处理并发读写操作?
答案 0 :(得分:0)
我建议您查看随机访问文件(请参阅http://docs.oracle.com/javase/tutorial/essential/io/rafs.html)。这个API使用起来有点复杂,因为你将读取字节而不是行,但它应该为你提供所需的东西。
如果您不想处理NIO,可以使用http://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html代替。