作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我将我的 bash 脚本放在我的 Android Studio 项目的 /res/raw/
文件夹中。如何获取文件的路径以使用 exec 执行它?
我尝试这样做:
InputStream scriptFile = activity.getResources().openRawResource(R.raw.file); // script path
但是获取不到文件路径
最佳答案
您可以像这样执行 bash:
BufferedReader r = new BufferedReader(new InputStreamReader(scriptFile));
String command = "";
List<String> commands = new ArrayList<>();
try {
command = r.readLine();
commands.add(command);
while(command != null){
command = r.readLine();
commands.add(command);
}
Process p = new ProcessBuilder().command(commands).start();
} catch (IOException e) {
e.printStackTrace();
}
并且您可以获得原始资源的 Uri 以创建一个新的文件对象:
Uri uri = Uri.parse("android.resource://com.your.package/raw/filename");
关于Android如何从/res/raw/获取文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31962901/
我是一名优秀的程序员,十分优秀!