简体   繁体   English

如何通过终端将文本文件输入到 Java 程序中(就像在 C++ 中是如何完成的那样)?

[英]How to input a text file into a java program via terminal (like how it's done in C++)?

If i do如果我做

$ java ProgramName string1 string2 string3

from the linux terminal, ProgramName gets string1 string2 string3 via main(String arg[]) using arg[i] , and all is well.从 linux 终端,ProgramName 使用arg[i]通过main(String arg[])获取 string1 string2 string3,一切都很好。

Here's what I want to do: Instead of typing string1 string2 string3 at the terminal, i want to type这是我想要做的:我想输入而不是在终端输入string1 string2 string3

$ java ProgramName < input.txt

where "input.txt" contains string1, string2, and string3其中“input.txt”包含 string1、string2 和 string3

Edit: "input.txt" has one word on a separate line with an 'enter' at the end of the line编辑:“input.txt”在单独的一行中有一个单词,在该行的末尾有一个“输入”

string1

string2

stringn

This can be done it C++ ;这可以通过 C++ 完成; can it be done similarly in Java?在Java中可以类似地完成吗?

You can do:你可以做:

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

note the inverse ` (not ')注意反' (不是')

or even:甚至:

java programname `cat file.txt`

Since you are redirecting a file to the standard input of your program, you can try the following:由于您将文件重定向到程序的标准输入,您可以尝试以下操作:

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
}

Please use this command:请使用此命令:

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

If its not working please check that arguments are properly defined in source file.如果它不起作用,请检查源文件中是否正确定义了参数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 通过套接字将数据从C ++程序移植到Java程序的输入是否比通过服务器上的原始json或xml文件更快? - Is it faster to port data from a C++ program to a Java program's input via sockets than via a raw json or xml file on the server? 如何检查 Java 程序的输入/输出流是否已连接到终端? - How can I check if a Java program's input/output streams are connected to a terminal? 如何将终端输出(和输入)复制到Java中的文件 - How to copy the terminal output (and input) to a file in java 如何在 java 中读取 C++ 程序创建的文件? - How to read file created by C++ program in java? 如何在Mac上的Terminal中获取Java程序的控制台输入? - How do I get console input for a java program in Terminal on Mac? 如何创建运行另一个 java 程序的 java 程序,该程序将从文本文件中接收输入? - How to create a java program that runs another java program which will recieve input from a text file? 如何从java程序运行jar文件和启动终端? - How to run a jar file and launch terminal from java program? 如何使用bash将文件重定向为Java程序的输入? - How to redirect a file as an input to Java program with bash? 通过C ++程序修改.JAR文件? - Modifying a .JAR file via a C++ Program? 将C ++程序输出作为Java输入 - Take C++ program output as Java input
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM