Web上用于输入Java文件的大多数示例都是指固定路径:
File file = new File("myfile.txt");
控制台的用户输入文件怎么样?假设我希望用户输入文件:
System.out.println("Enter a file to read: ");
我有哪些选项(使用尽可能少的代码)来读取用户指定的文件以进行处理。一旦我有了文件,我可以转换为字符串等...我认为它与BufferedReader,Scanner,FileInputStream,DataInputStream等有关...我只是不确定如何结合使用这些得到最有效的方法。
我是初学者,所以我可能会错过一些简单的事情。但是我一直在弄乱这一段时间而现在无济于事。
提前致谢。
答案 0 :(得分:19)
要让用户输入文件名,有几种可能性:
作为命令行参数。
public static void main(String[] args) {
if (0 < args.length) {
String filename = args[0];
File file = new File(filename);
}
}
要求用户输入:
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a file name: ");
System.out.flush();
String filename = scanner.nextLine();
File file = new File(filename);
答案 1 :(得分:1)
使用java.io.BufferedReader
String readLine = "";
try {
BufferedReader br = new BufferedReader(new FileReader( <the filename> ));
while ((readLine = br.readLine()) != null) {
System.out.println(readLine);
} // end while
} // end try
catch (IOException e) {
System.err.println("Error Happened: " + e);
}
用数据处理填充while循环。
此致 斯特凡