嘿,我是相当新的这个,但我想不硬编码一个文件被读入,但我想从终端/命令提示符读取它。这是我到目前为止,我在bufferedWriter中硬编码的文件名,但我怎么能做到我可以做一个命令,如(Java主< in.txt> out.txt)。提前致谢。如何从终端读取文本文件并将输出保存到java中的另一个文件?
public static void main(String[] args) {
String inFile = "in.txt";
String outFile = "out.txt";
if (args.length > 1) {
inFile = args[0];
outFile = args[1];
}
Lexer lexer = new Lexer(inFile);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(outFile));
Token t;
while ((t = lexer.nextToken()) != null) {
writer.write(t.toString());
writer.newLine();
}
writer.close();
System.out.println("Done tokenizing file: " + inFile);
System.out.println("Output written in file: " + outFile);
} catch (IOException e) {
e.printStackTrace();
}
}
那么为什么我不能使用“<" or ">”?是不是你如何让程序读取文件并将结果输出到其他文件中?此外,当我把System.in或System.out它给了我一个错误,说它不适用。 – King11 2014-11-09 07:27:00
@Rod当您使用“<'' or ''>”时,*操作系统会重定向[Standard Streams](http://en.wikipedia.org/wiki/Standard_streams#1995:_Java)stdin和stdout(例如'System。在Java中是'in'和'System.out')。 – 2014-11-09 07:29:01
好吧,那么我可以在我的代码中更改哪些内容以允许使用System.in和System.out?我尝试了不同的事情,但是我得到一个错误或者我试图卡住。 – King11 2014-11-09 07:33:15