##前提・実現したいこと
Javaプログラムで.txtファイルを作成し、自動的に画面に表示させたいです。
そのためにまず元からある.txtファイルを自動的に画面に表示させるプログラムを作ろうと思ったのですが、うまくいきません。
##発生している問題・エラーメッセージ
プログラムと同じディレクトリに.txtファイルを配置し、開こうとしても以下のようなエラーメッセージが出ました。
Java
1java.io.IOException: Cannot run program "test.txt": error=2, No such file or directory 2 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) 3 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) 4 at java.base/java.lang.Runtime.exec(Runtime.java:589) 5 at java.base/java.lang.Runtime.exec(Runtime.java:413) 6 at java.base/java.lang.Runtime.exec(Runtime.java:310) 7 at Sample.main(Sample.java:8) 8Caused by: java.io.IOException: error=2, No such file or directory 9 at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) 10 at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:319) 11 at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:250) 12 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) 13 ... 5 more
なので、絶対パスで.txtファイルの場所を指定したところ、以下のようなエラーメッセージが出ました。
Java
1java.io.IOException: Cannot run program "/(場所)/(場所)/(場所)/(場所)/test.txt": error=13, Permission denied 2 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) 3 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) 4 at java.base/java.lang.Runtime.exec(Runtime.java:589) 5 at java.base/java.lang.Runtime.exec(Runtime.java:413) 6 at java.base/java.lang.Runtime.exec(Runtime.java:310) 7 at Sample.main(Sample.java:8) 8Caused by: java.io.IOException: error=13, Permission denied 9 at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) 10 at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:319) 11 at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:250) 12 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) 13 ... 5 more
##該当のソースコード
Java
1import java.io.IOException; 2 3public class Sample { 4 5 public static void main(String[] args) { 6 try { 7 Runtime rt = Runtime.getRuntime(); 8 rt.exec("test.txt"); 9 } catch (IOException ex) { 10 ex.printStackTrace(); 11 } 12 } 13}
###試したこと
これ以外に外部ファイルを画面上に自動的に表示させる方法を調べてみたのですが、方法は見つけられませんでした。
###補足情報
開発環境はmacです。IDEはVScodeで、JDKは最新のものを使っています。
回答1件
あなたの回答
tips
プレビュー