0

这个代码是正确的??

String note = "text.txt";
FileWriter file = new FileWriter(note);
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name:");
String name = sc.next();
file.close();

如何将此文件作为命令行参数传递给程序???

4

1 回答 1

2

好吧,我个人永远不会使用FileWriter它,因为它使用系统默认编码,这在大多数情况下都是一件令人讨厌的事情。我更喜欢FileOutputStream+ OutputStreamWriter。然而,话说回来……

你想传递什么作为命令行参数?文件?这很容易:

public static void main(String[] args)
{
    // Insert error checking here (e.g. args.length == 0)
    String note = args[0]; // For the first argument
    // Rest of code here
}

如果这不是您的意思,请编辑您的问题以澄清它。

从标题来看,您可能希望从文件加载而不是从System.in. 在这种情况下,您只需要传入一个File对象,或者一个InputStream(例如FileInputStream)或者实际上是一个Readable(例如InputStreamReader)。如果您要传入 a Fileor InputStream,我强烈建议您也传入字符编码名称。(为什么它把它当作一个字符串而不是 aCharset是我无法理解的,但是 Java API 在编码方面基本上是相当糟糕的。)

于 2009-07-01T12:54:42.957 回答