这个代码是正确的??
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();
如何将此文件作为命令行参数传递给程序???
这个代码是正确的??
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();
如何将此文件作为命令行参数传递给程序???
好吧,我个人永远不会使用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 File
or InputStream
,我强烈建议您也传入字符编码名称。(为什么它把它当作一个字符串而不是 aCharset
是我无法理解的,但是 Java API 在编码方面基本上是相当糟糕的。)