我想知道如何将标准输入转换为字符串。例如,我有一个带有n个字母的txt文件 - 所有这些我想读成一个字符串。
只是为了确保:标准输入是指为程序提供.txt作为输入。
帮助将不胜感激!
答案 0 :(得分:3)
我有一个文件,我想将其数据存储在一个字符串中。
可以使用commons-io
:
String content = FileUtils.readFileToString(file);
要从stdin读取字符串,您可以使用扫描仪。如果您想要整个文件,请使用while (scanner.hasNextLine())
。
String firstLineFromStdin = new Scanner(System.in).readLine();
答案 1 :(得分:0)
您要做的是将文件传输到您的应用程序中......
java your.package < file.txt
然后您可以通过Java的System.in正常读取该文件。
答案 2 :(得分:0)
首先,您是否希望将文件名作为参数提供给您的程序。或者整个文件作为输入?在第一种情况下,您可以:
"program filename.txt"
在你输入的第二个:
"program < filename.txt".
在第一种情况下,文件名是输入。而你的程序必须自己打开一个文件。在第二种情况下,文件的内容作为文件的输入给出。
如果你只提供文件名,那么文件名在你的main函数的参数中(“main(String args [])”部分的数组args。使用这个文件名你可以使用之前建议的readFileToString来转换将文件内容转换为字符串。
如果要使用文件输入“program&lt; filename.txt”的其他方法,请使用a InputStream。有关InputStream http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html
的更多信息,请参阅文档你还提到你对Java很新。我希望你知道java文档的存在吗? http://download.oracle.com/javase/6/docs/api/index.html包含许多您可能想知道的信息。
答案 3 :(得分:0)
我最终使用了这个:
String s = "";
while (!StdIn.isEmpty()){
s = s + StdIn.readChar();
}
我使用以下命令运行程序:java program&lt; a.text
答案 4 :(得分:-1)