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 (将#修改为@)