Ошибка при открытии текстового файла из папки src в Java - PullRequest
1 голос
/ 18 августа 2011

Я делаю Java-программу и хочу открыть файл text(notepad), который я сохранил в папке src в моей Java-программе. Я попытался сделать это с помощью следующего кода, но он дает ошибку.«Метод exec(String) в типе Runtime не применим для аргументов (InputStream), есть предложения? Спасибо

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

Ответы [ 3 ]

1 голос
/ 18 августа 2011

Вы не можете выполнить поток ввода, это просто набор байтов, а не файл.

Вы должны сохранить этот файл где-нибудь в вашем проекте (например, в папке ресурсов) и использовать путь для открытия файла. Вот как это будет выглядеть:

File file = new File("resources/my-file.txt");
String[] command = { "notepad.exe", file.getAbsolutePath() };
Runtime.getRuntime().exec( command );
1 голос
/ 18 августа 2011

Ни один из 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();
}
0 голосов
/ 18 августа 2011

Я думаю, это то, что вы пытаетесь сделать:

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

См. ProcessBuilder Javadocs.

...