我有一个文件可以说" test.txt",(与java程序相同的目录),上面有数字,如下所示。我的目标是启动一个进程构建器,从文件中读取数据,然后我将它绘制到java JPanel。
我理解从文本文件中读取数据,我需要读取输入流。 问题1:我如何逐行阅读?因此,在读取第一行后,流程构建器将转到下一行?
我对如何真正启动这样的流程感到困惑。即 Q2:如何使用processBuilder打开文本文件?
对于第二个问题,我尝试过这样的事情。屏幕上没有任何事情发生,因为我没有指示任何事情发生,但它是否在正确的轨道上?
//get data back
public void returnData ()
{
try {
ProcessBuilder pb;
pb = new ProcessBuilder("test.txt");
Process runCode = pb.start();
runCode.waitFor();
}
catch (IOException | InterruptedException exp) {
System.out.println(exp);
}
}
的test.txt
0
1
3
5
2
3
答案 0 :(得分:0)
您需要一个程序将文件发送到标准输出,例如 对于Windows:
type filename
对于Unix
cat filename
然后使用ProcessBuilder执行此命令 InputStreamReader用于读取流,BufferedReader用于逐行读取。
BufferedReader in
= new BufferedReader(new InputStreamReader(processstream));
in.readLine ();
当基本的Java IO以便携方式执行时,这是一种非常依赖于平台的方法。
FileReader访问文件,BufferedReader逐行读取。
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
in.readLine ();