Urd*_*dak 2 java linux bufferedreader
我正试图/usr/bin/perl -e 'for(my $i=0;$i<1000;$i++){print 1x1000;print STDERR 2x1000;}'用我的程序运行(在终端中运行).
ProcessBuilder pb = new ProcessBuilder(go); //go is the command
process = pb.start();
BufferedReader incommandbuf = new BufferedReader(new InputStreamReader(process.getInputStream()),1024*1000);
BufferedReader errcommandbuf = new BufferedReader(new InputStreamReader(process.getErrorStream()),1024*1000);
stdString = "";
while ((line = incommandbuf.readLine()) != null)
{
stdString += line + "\n";
}
String errorstrtemp = "";
while ((line = errcommandbuf.readLine()) != null)
{
errorstrtemp += line + "\n";
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试运行它,它会挂起while ((line = incommandbuf.readLine()) != null).如果我将命令更改为,程序将运行/usr/bin/perl -e 'for(my $i=0;$i<64;$i++){print 1x1000;print STDERR 2x1000;}'.如果它达到65或更高它不起作用.起初我以为我只需要改变我的BufferedReaders的大小,但它没有帮助.有什么原因导致这个问题?如果需要,我会提供任何其他信息.谢谢.
| 归档时间: |
|
| 查看次数: |
1368 次 |
| 最近记录: |