gpt4 book ai didi

android - 在Android中执行进程来读取文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:54 27 4
gpt4 key购买 nike

我需要使用在 Android 中使用 Java 执行的 Linux Shell 命令来读取文件的内容。我需要执行什么命令才能读取文件中的所有文本并将其保存在 String 对象中?

请注意,我无法使用简单的 Java I/O 函数!我需要读取的文件位于设备的系统目录中。

   String command= "";
String file_path = "misc/file.txt";
StringBuffer output = new StringBuffer();

Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}

} catch (Exception e) {
e.printStackTrace();
}
String response = output.toString();

最佳答案

File f=new File("path");
FileInputStream fin=new FileInputStream(f);
byte array[]=new byte[fin.avaialable()];
fin.read(array);
String string=new String(array);

就足够了。为什么不遵循简单的解决方案呢?

更新

/**
* Execute a command in a shell
*
* @param command
* command to execute
* @return the return of the command
*/
public String exec(String command) {
String retour = "";
try {
Runtime runtime = Runtime.getRuntime();

Process p = runtime.exec(command);

java.io.BufferedReader standardIn = new java.io.BufferedReader(
new java.io.InputStreamReader(p.getInputStream()));
java.io.BufferedReader errorIn = new java.io.BufferedReader(
new java.io.InputStreamReader(p.getErrorStream()));
String line = "";
while ((line = standardIn.readLine()) != null) {
retour += line + "\n";
}
while ((line = errorIn.readLine()) != null) {
retour += line + "\n";
}
} catch (java.io.IOException e) {
e.printStackTrace();
}

return retour;
}

将其调用为 exec("cat Misc/file.txt");

关于android - 在Android中执行进程来读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29796157/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com