如何通过终端将文本文件输入到java程序中(就像在C ++中一样)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过终端将文本文件输入到java程序中(就像在C ++中一样)?相关的知识,希望对你有一定的参考价值。

如果我做

$ java ProgramName string1 string2 string3

从linux终端,ProgramName使用main(String arg[])通过arg[i]获取string1 string2 string3,一切都很好。

这就是我想要做的事情:我没有在终端输入string1 string2 string3,而是想输入

$ java ProgramName < input.txt

其中“input.txt”包含string1,string2和string3

编辑:“input.txt”在单独的行上有一个单词,在行的末尾有一个'enter'

string1

string2

stringn

这可以用C ++来完成;它可以在Java中类似地完成吗?

答案

你可以做:

export parameters=`cat file.txt`
java programname $parameters

注意反向`(不是')

甚至:

java programname `cat file.txt`
另一答案

请使用此命令:

java MyProg "$(cat file.txt | tr '
' ' ')"

如果它不起作用,请检查源文件中是否正确定义了参数。

另一答案

由于您要将文件重定向到程序的标准输入,因此可以尝试以下操作:

Scanner in = new Scanner(System.in);
String line = new String();
while(in.hasNext())//while there are lines on the file
{
    line = in.nextLine();//read the line
    //do stuff here
}

以上是关于如何通过终端将文本文件输入到java程序中(就像在C ++中一样)?的主要内容,如果未能解决你的问题,请参考以下文章

用VC写了一个文本编辑器,怎样将输入里面的关键字变色实现高亮状态,就像在VC里面写代码输入C++关键字那样

Mac系统上如何添加文本文档

iOS 实时位置跟踪器就像在 uber 中一样?

从终端打开iPhone应用程序

如何使回车键将光标移动到 Android Studio 中的行尾,就像在 Eclipse 中一样

VB.NET 将 Select Case 语句堆叠在一起,就像在 Switch C#/Java 中一样