关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
5年前关门了。
改进这个问题
我必须从控制台中的用户那里获得一个文件名,比如a.txt,然后打开文件并读取它(更具体地说,标记化它)。我该怎么做?我无法从读取器获取文件名并用filename.txt打开它。
下面是代码片段:
String file = args[0];
BufferedReader reader = new BufferedReader(new FileReader(file));
3条答案
按热度按时间8fsztsew1#
如果你打算得到用户的输入使用
请尝试从控制台获取文件名。如果要进入bufferedreader,请指定文件的完整路径。
d6kp6zgx2#
因此,这里接受来自args[0]的命令行参数,它将是您将在命令提示符中指定的文件名。假设文件和java程序位于同一文件夹中,然后使用bufferedreader逐行读取文件。
5ssjco0h3#
args[0]
将引用第一个命令行参数,例如。如果您想在交互式控制台上使用它,即在程序启动后,您应该使用
System.in
,例如。(作为旁白,我建议不要使用
FileReader
-它总是使用平台默认编码。我建议用FileInputStream
裹在InputStreamReader
,或只是使用Files.newBufferedReader
默认为utf-8,但有一个重载,允许您指定编码。)