【发布时间】:2020-02-06 11:57:02
【问题描述】:
我有这个方法
OutputStream os = new FileOutputStream("out.txt");
InputStream is = new FileInputStream("out.txt");
Transit.outputTransport(Parking, os);
System.out.println(Parking.toString());
Transport forOut = Transit.inputTransport(is);
System.out.println(forOut.toString());
System.out.println();
我需要将文件输出的源更改为 System.out 和 System.in 的文件输入,并在代码中实现它。我怎样才能做到这一点? Transit.outputTransport(Parking, os) - 将字节字符串写入文件和 Transit.inputTransport(is) - 将字节转换为正常形式后返回对象
【问题讨论】:
-
将
is替换为System.in,将os替换为System.out -
感谢您的帮助,但它不起作用
-
“它不起作用”,你有错误吗?你看到没有输出吗?它仍然写入文件吗?能否具体说明一下
-
也许你需要在标准输入/输出重定向的情况下运行命令;例如
java MyMainClass < in.txt > out.txt. -
请注意,您的示例似乎是读写
out.txt。那是坏的。 1)当您打开文件进行输出(像那样)时,它会立即截断文件。 2)如果你尝试同时读取和写入一个文件,结果将难以预测。
标签: java inputstream system.out system.in printstream