Выполнение команды CAT из программы Java не работает, как и ожидалосьJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Выполнение команды CAT из программы Java не работает, как и ожидалось

Сообщение Anonymous »

Я пытаюсь использовать команду CAT из программы Java, чтобы объединить два файла в один. Строка кода, которая содержит команду CAT, принимает два файла File1 и File2 и записывается в третий файл с названием CombienedFile. Тем не менее, я наблюдаю, что вместо создания этого файла (комбинированного файла) и написания в него, моя программа просто отображает вывод на терминале.import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ExecuteShellCommand
{

public static void main(String[] args)
{

ExecuteShellCommand obj = new ExecuteShellCommand();

String command = "cat file1 file2 > combinedfile";

String output = obj.executeCommand(command);

System.out.println(output);

}

private String executeCommand(String command)
{

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();
}

return output.toString();

}

}
< /code>

Редактировать: < /p>

Я попробовал с помощью процесса -строителя, как предложено, но я получаю эту ошибку.
Code < /p>

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.*;
import java.util.*;

public class ExecuteShellCommand
{
public static void main(String[] args)
{
try
{
ProcessBuilder builder = new ProcessBuilder("cat", "/home/PepperBoy/Desktop/file1.txt","/home/PepperBoy/Desktop/file2.txt");
File combinedFile = new File("/home/PepperBoy/Desktop/file3.txt");
builder.redirectOutput(combinedFile);
builder.redirectError(combinedFile);
Process p = builder.start();
}
catch(IOException e)
{
e.printStackTrace();
}

}
}
< /code>

ошибка < /p>

ExecuteShellCommand.java:14: cannot find symbol
symbol : method redirectOutput(java.io.File)
location: class java.lang.ProcessBuilder
builder.redirectOutput(combinedFile);


Подробнее здесь: https://stackoverflow.com/questions/306 ... s-expected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»