Я хочу объединить два файла в Android. Я сделал это из приложения Terminal Emulator с помощью команды cat file1 file2 > output_file
. Но это не работает, когда я пытаюсь выполнить его из своего кода.
Это код, который я использовал для выполнения команды.
public String exec() {
try {
// Executes the command.
String CAT_COMMAND = "/system/bin/cat /sdcard/file1 /sdcard/file2 > /sdcard/output_file";
Process process = Runtime.getRuntime().exec(CAT_COMMAND);
// Reads stdout.
// NOTE: You can write to stdin of the command using
// process.getOutputStream().
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
// Waits for the command to finish.
process.waitFor();
return output.toString();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
Я дал разрешение на запись во внешнее хранилище в манифесте. Чего мне не хватает?