如何将命令行输入文件中的行打印到命令行输出文件?

时间:2014-04-03 16:55:07

标签: java input output command-line-arguments bluej

输入文件包含如下所示的文本行:

allison wesley 28011990

peter smith 05071992

和我的代码(尝试将其打印到输出文件)如下(我提供输入和输出作为命令行参数):

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class FormatNames{
    public static void main(String[] args) throws FileNotFoundException{
        Scanner in = new Scanner(args[0]);
        PrintWriter out = new PrintWriter(args[1]);
        while(in.hasNext()){
            String str = in.next();
            out.print(""+str);
        }
        in.close();
        out.close();
    }
}

有谁知道为什么这不起作用? 目前,它输出到文件的唯一内容是输入文件的名称

由于

1 个答案:

答案 0 :(得分:3)

您正在使用以字符串作为输入的扫描程序构造函数:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#Scanner(java.lang.String)

尝试使用带有File的构造函数:

new Scanner(new File(arg[0]));