在Java中从src文件夹打开文本文件时出错

时间:2011-08-18 12:21:21

标签: java file-io iostream

我正在创建一个Java程序,并且想要打开一个text(notepad)文件,我已经保存在我的Java程序的src文件夹中,我试图通过以下代码来完成它,但它给出错误。 “类型exec(String)中的方法Runtime不适用于参数 (InputStream),有什么建议吗?感谢

Runtime runtime = Runtime.getRuntime();
InputStream lic = this.getClass().getClassLoader().getResourceAsStream("MyFile.txt");
Process process = runtime.exec(lic);

3 个答案:

答案 0 :(得分:1)

Runtime.exec个方法都不接受InputStream

http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html


要从InputStream读取文件,请使用BufferedReader

BufferedReader reader = new BufferedReader(new InputStreamReader(lic));

String line = reader.readLine()
while(line != null){
    System.out.println(line);
    line = reader.readLine();
}

答案 1 :(得分:1)

您无法执行输入流,它只是一个字节集合,而不是文件。

您应该将此文件存储在项目内的其他位置(如资源文件夹),并使用该路径打开该文件。这是它的样子:

File file = new File("resources/my-file.txt");
String[] command = { "notepad.exe", file.getAbsolutePath() };
Runtime.getRuntime().exec( command );

答案 2 :(得分:0)

我认为这就是你要做的事情:

ProcessBuilder pb = new ProcessBuilder("notepad", "/path/to/text-file");
Process process = pb.start();

请参阅ProcessBuilder Javadocs。