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

标签 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();
    }
}

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

谢谢

最佳答案

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

尝试使用接受 File 的构造函数,例如:

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

关于java - 如何将命令行输入文件中的行打印到命令行输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844161/

相关文章:

java - 在 Android 游戏中使用 Thread 或 TimerTask 的优缺点

html - anchor 和输入字段在 IE11 中不起作用

html - 单击 Chrome 和 Safari 中的输入字段后出现奇怪的行为

c++ - 使用 cin 和 cout 时无法正确打印字符变量

java.lang.AssertionError : Docker environment has more than 2GB free

java - TimestampType 设置覆盖错误

php - 如何禁用php中命令的输出

Java toString 方法 - 打印不正确

java - 使用本地用户登录 Web 应用程序

java - 未使用 TextButton 调用 Libgdx InputListener "exit()"