如何解决FileWrite未创建新文件Android Studio,导致“ java.io.FileNotFoundException:file.py:打开失败:EROFS只读文件系统”
所以我一直在尝试使用运行时方法在Java中运行简单的python脚本。在android studio之外,它运行良好,但是在Andorid studio中,我怀疑此错误java.io.FileNotFoundException: file.py: open failed: EROFS (Read-only file system)'
。
我知道这不是通过Java运行python脚本的最有效方法,但是请帮帮我。我不知道要更改什么权限才能编写新脚本。
这里是我的完整代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView resultstv = (TextView)findViewById(R.id.resultsTV);
Button solvebtn = (Button)findViewById(R.id.solvebtn);
final EditText enterWordTv = (EditText)findViewById(R.id.enterWordET);
solvebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
resultstv.setText(anagram(getEnterWordTv(enterWordTv)).toString());
}
});
}
public String getEnterWordTv(EditText inputFU) {
String finWord = inputFU.getText().toString();
return(finWord);
}
static ArrayList<String> anagram(Int num){
ArrayList<String> results = new ArrayList<String>();
try {
String mainPrg = "import sys\nprint(sys.argv[1])";
BufferedWriter out = new BufferedWriter(new FileWriter("AnagremSOlver.py"));
out.write(mainPrg);
out.close();
String number = num;
Process p = Runtime.getRuntime().exec("python3 AnagremSOlver.py " + number);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String ret;
while ((ret = in.readLine()) != null){
results.add(ret);
}
System.out.println(results);
} catch (Exception e){
System.out.println(e);
}
return(results);
}
}
其他地方的其他答案都告诉我通过添加AndroidManifest.xml
来更新<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
中的权限,但是添加后,我仍然遇到相同的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。