我正在创建一个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);
答案 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。