所以我试图弄清楚这个。我有一个文件,让我们说它是text.txt。我想在Windows中使用“Open with ..”打开它。根据我的想法,这个Windows函数只是将文件路径作为参数传递给程序。在Java中,我现在有这个:
import java.io.*;
public class program {
public static void main(String[] args) throws IOException {
File inFile = new File(args[0]);
InputStreamReader fileIO = new InputStreamReader(inFile);
fileIO.toString();
System.out.println(fileIO);
fileIO.close();
}
}
当我跑步时,我明白了。
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The constructor InputStreamReader(File) is undefined
at program.main(program.java:8)
我已将文件路径放在运行配置中,甚至我的Google Fu都没有处理此问题。我很累,所以我现在就把它留在这里。
编辑:显然超类是java.lang。*,但无论如何,这应该不重要(?)
答案 0 :(得分:1)
使用FileInputStream
InputStreamReader fileIO = new InputStreamReader(new FileInputStream(inFile));
因为InputStreamReader
没有带文件参数的构造函数。
答案 1 :(得分:0)
InputStreamReader没有构造函数将File
对象作为参数。
请改用以下代码 -
InputStreamReader fileIO = new InputStreamReader(new FileInputStream(inFile));
阅读文档here。
如果您不介意Apache Commons库,那么有一个more simpler way to do this -
File inFile = new File(args[0]);
String content = FileUtils.readFileToString(inFile);
System.out.println(content);