Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menggunakan Paip dengan Amanah dengan Runtime.exec() Java?

Bagaimanakah Saya Boleh Menggunakan Paip dengan Amanah dengan Runtime.exec() Java?

DDD
DDDasal
2024-12-15 22:25:15633semak imbas

How Can I Reliably Use Piping with Java's Runtime.exec()?

Pepaipan dengan Runtime.exec()

Di Java, menggunakan operasi paip dengan Runtime.exec() boleh mencabar kerana silang- ketidakkonsistenan platform dalam kelakuan paip. Walau bagaimanapun, terdapat beberapa kaedah untuk menangani isu ini.

Pelaksanaan Skrip

Satu pendekatan ialah mencipta skrip yang merangkum operasi paip yang dikehendaki dan melaksanakan skrip dan bukannya perintah individu. Contohnya:

#!/bin/sh
ls /etc | grep release

Kemudian, laksanakan skrip menggunakan exec:

String[] cmd = {"/bin/sh", "path/to/script.sh"};
Process p = Runtime.getRuntime().exec(cmd);

Paip Berasaskan Shell

Pilihan lain ialah menggunakan kefungsian paip shell secara langsung, seperti berikut:

String[] cmd = {
    "/bin/sh",
    "-c",
    "ls /etc | grep release"
};
Process p = Runtime.getRuntime().exec(cmd);

Dengan menggunakan Pilihan "-c", cangkerang melaksanakan rentetan arahan yang ditentukan dalam subkulit, membolehkan penggunaan paip dan ciri cangkerang lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Paip dengan Amanah dengan Runtime.exec() Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn