0
次のコードはローカルPCに入出力権限があり正しく動作します。しかし、私は私のWindows server2012でこれをやろうとしたときに、いくつかの問題が発生しました。それは、execを使用してPythonコードを正しく実行することはできません、私のPythonは、最終的な結果を与えることはできません。 I/Oには権限がないと思いますが、なぜですか?java execはPythonプログラムを実行しますが、PythonにはI/Oへの権限がありません。
Javaコード:
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class test {
private static void generateFile() throws IOException{
BufferedWriter bw = new BufferedWriter(new FileWriter("src/test/input.txt", false));
String eventString = "This is a example";
bw.write(eventString);
bw.close();
}
private static void getFile() throws IOException{
BufferedReader br = new BufferedReader(new FileReader("src/test/output.txt"));
String jsonResults = br.readLine();
br.close();
}
public static void main(String[] args) throws IOException {
generateFile();
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("python test.py", null, new File("src/test/"));
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
try {
pr.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
pr.destroy();
}
getFile();
}
}
のpythonコード:
f = open('input.txt', 'r')
line = f.readline()
with open('output.txt', 'w') as fw:
fw.write(line)
print("Done!")
ERRORのINFOMATION:ここ
Exception in thread "main" java.io.FileNotFoundException: src\test\output.txt (The system cannot find the specified file.)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at java.io.FileReader.<init>(FileReader.java:58)
at test.test.getFile(test.java:21)
at test.test.main(test.java:49)
まず、あなたの親切なアドバイスをお願いします。私はそれぞれそれを読むでしょう。そして、私はこのコードをeclipseで試してみましたが、私のPCでcmdだけでpythonスクリプトを実行します。 –
さらに、私はこのスクリプトをサーバでcmdで試してみました。 –
次に、スタックトレースのようなすべてのエラー情報を質問に追加します。 – GhostCat