【问题标题】:Give standard input to program through files and take standard output to a file [closed]通过文件将标准输入提供给程序并将标准输出提供给文件[关闭]
【发布时间】:2014-01-01 08:54:07
【问题描述】:

如何通过文件给java程序标准输入,并把标准输出到文件?

我不想让程序使用文件输入法。程序应该从像 BufferedReader 这样的标准输入中获取输入,但在运行时输入应该从文本文件中获取,而不是通过键盘。同样,程序生成的输出应该被重定向到一个文本文件。 我认为有一些与 javac/java 命令相关的选项。但我不完全知道。有人可以指导我如何做到这一点吗?我将 jdk1.7 用于 windows 7、32 位系统

【问题讨论】:

  • 请学习如何使用大写字母。 1)不要对我们大喊大叫。 2) 请在句首加一个大写字母。还要为单词 I 使用大写字母,以及 JEE 或 WAR 等缩写词和首字母缩略词。这使人们更容易理解和帮助。
  • 好的,但你能不能也回答我的问题?
  • 你的意思是java myprogram < input_file > output_file
  • 你也很困惑......
  • @user2916888 当你说它不起作用时,你还需要展示你是如何做到的,你期望什么以及你得到了什么。你用了那些尖括号? (重定向运算符)?

标签: java input


【解决方案1】:

您可以使用操作系统重定向运算符

java Test < inputFile > outputFile

那么这个

public class Test {
    public static void main(String[] args) throws IOException {
        for(int i; (i = System.in.read()) != -1;) {
            System.out.write((byte)i);
        }
    }
}

将从 inputFile 复制到 outputFile

【讨论】:

  • 也许我犯了一些错误。但它不工作
  • 我在发布之前对其进行了测试,工作正常。你有任何错误吗?
  • 错误:无法找到或加载主类test.Test
  • 感谢您的回答,但我想出了如何去做。 :)
  • 回顾一下,最初的问题似乎是您没有调用“javac”或者您忘记设置正确的类路径。
猜你喜欢
  • 2018-03-09
  • 2019-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 2011-06-03
  • 2013-03-18
相关资源
最近更新 更多