2012-07-07 44 views
0

我们如何从Eclipse中的文件获取输入?
就像我们通过命令行从文件中指导I/O一样。
java MyProgram < input.txt> output.txt
我无法直接输入。
但输出指挥很容易。 只是中间人>运行 - >运行 - >设置 - >通用如何从Eclipse中的文件直接输入std输入

回答

0

如果您需要一定使用默认in,你可以做这样的事情:

System.setIn(new FileInputStream("testFile.txt")); 

它是如何工作的样本如下:

import java.io.BufferedReader; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class TestSystemIn { 

    public static void main(final String[] args) throws IOException { 
     // prepare test 
     FileOutputStream fos = new FileOutputStream("testFile.txt"); 
     fos.write("testToken".getBytes()); 

     // configure env 
     System.setIn(new FileInputStream("testFile.txt")); 

     // perform read test 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     System.out.println("read: " + br.readLine()); 
    } 

} 

输出可以以同样的方式来完成使用:

System.setOut(new PrintStream("testFile.txt")); 
1

你为什么不使用File,而不是重定向?
您的程序将有一个fileName作为输入,然后将结果写入文件。

相关问题