Java ProcessBuilder在do while循环后打印空输出
我正在使用Java ProcessBuilder在do while循环后打印空输出,java,output,processbuilder,Java,Output,Processbuilder,我正在使用ProcessBuilder在记事本窗口中打开一个文本文件,并根据我的代码打开另一个记事本窗口,其中包含已处理的文本 现在发生的事情是程序打开了第一个记事本窗口 我在里面放了一段文字,但第二个窗口是空的 是否有人建议我需要在哪里进行更改,以便在第二个记事本窗口中打印处理过的文本?(我在代码下面包含了输出)。我在控制台中打印了正确的结果,但没有在记事本窗口中打印。我以前从未使用过ProcessBuilder,只能找到如何使用它的简单示例。谢谢你的建议 Scanner in = new S
ProcessBuilder
在记事本窗口中打开一个文本文件,并根据我的代码打开另一个记事本窗口,其中包含已处理的文本
现在发生的事情是程序打开了第一个记事本窗口
我在里面放了一段文字,但第二个窗口是空的
是否有人建议我需要在哪里进行更改,以便在第二个记事本窗口中打印处理过的文本?(我在代码下面包含了输出)。我在控制台中打印了正确的结果,但没有在记事本窗口中打印。我以前从未使用过ProcessBuilder,只能找到如何使用它的简单示例。谢谢你的建议
Scanner in = new Scanner(System.in);
System.out.print("Enter the input file: ");
String inputFileName = in.next();
System.out.print("Enter the output file: ");
String outputFileName = in.next();
String poemFilename = "poem.txt";
String poemoutFilenamo = "newpoem";
int lineNum = 1;
File poemFile = new File(poemFilename);
Scanner fileIn = new Scanner(poemFile);
PrintWriter fileout = new PrintWriter(poemoutFilenamo);
System.out.printf("Read in %s.\nWrote out %s.\n",inputFileName, outputFileName );
ProcessBuilder Poemin = new ProcessBuilder("Notepad.exe", poemFilename);
Poemin.start();
if (fileIn.hasNextLine()) {
do {
String line = fileIn.nextLine();
System.out.printf("/*" + lineNum + "*/ %s\n", line);
lineNum++;
} while (fileIn.hasNextLine());;
ProcessBuilder Poemout = new ProcessBuilder("Notepad.exe", poemoutFilenamo);
Poemout.start();
}
in.close();
fileIn.close();
fileout.close();
应在记事本窗口中打印以下内容:
/*1*/ Somewhere over the rainbow
/*2*/ Way up high
/*3*/ And the dreams that you dreamed of
/*4*/ Once in a lullaby
您从不向
文件输出写入任何内容。您创建了该文件,但该文件为空
我相信你想要
fileout.printf("/*" + lineNum + "*/ %s\n", line);
在启动第二个进程之前,您还需要关闭fileout
。您从不向fileout
写入任何内容。您创建了该文件,但该文件为空
我相信你想要
fileout.printf("/*" + lineNum + "*/ %s\n", line);
在启动第二个流程之前,您还需要关闭fileout
。将fileout.close()
移动到启动第二个process builder流程之前。在尝试使用该文件之前,您需要刷新到该文件,并且该文件还需要可编辑(不在使用中)。@HovercraftFullOfEels谢谢您的建议。我刚刚尝试了它,但它仍然会显示空窗口:(将fileout.close()
移动到启动第二个process builder进程之前的位置。在尝试使用该文件之前,需要刷新到该文件,并且该文件需要可编辑(未使用)还有。@HovercraftFullOfEels谢谢你的建议。我刚试过,它仍然会弹出空窗口:(