Итак, я пытаюсь использовать соединение одной программы Java со входом другой программы, и мне интересно, эффективен ли способ, которым я это сделал, или если есть лучший способ. Я сохраняю строку в текстовый файл в первой программе и читаю строку, а затем печатаю ее во второй. Есть ли способ просто вырезать текстовый файл как средний человек?Относительно подключения двух программ Java
Вот моя первая программа:
import java.util.Scanner;
import java.io.*;
public class pip1{
public static void main(String[] args){
String inString = "";
Scanner sc = new Scanner(System.in);
inString = sc.next();
try{
PrintWriter out = new PrintWriter("word.txt");
out.println(inString);
out.close();
} catch(FileNotFoundException ex){ }
}
}
и вот второй:
import java.io.*;
public class pip2{
public static void main(String[] args) {
String fileName = "word.txt";
try {
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String outString = br.readLine();
br.close();
fr.close();
System.out.println(outString);
} catch (FileNotFoundException ex) {}
catch (IOException ex) {}
}
}
Спасибо!
Просто напишите stdout в первом, прочитайте с stdin во втором и просто пропустите вывод первого во второй, когда вы запустите: 'java pip1 | java pip2'. –
Путь Энди прост и совершенен, если вы используете * nix. – Tipton
Он также работал в [Windows XP] (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true) - удалить MS? –