- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
JAVA 일반 Command Prompt Shell Interface in Java
2015.07.12 18:15
Command Prompt Shell Interface in Java
I took a program that someone wrote for a terminal-like shell interface for UNIX. However, I would like to change this so it can emulate a command prompt, not a terminal.
The program compiles, but if I try, for example, running the simple command of "dir" within the program then it panics and exits. Something similar to this shows on exit:
CreateProcess error=2. The system cannot find the file specified.
The only command that runs successfully is the "help" command (and granted, the "exit" and "" commands.)
I would appreciate any help that could be given regarding the program below:
import java.io.*; import java.util.*; public class shell { public static void main(String[] args) throws java.io.IOException { String commandLine; BufferedReader console = new BufferedReader (new InputStreamReader(System.in)); while (true) { // read what the user entered System.out.print("My shell>"); commandLine = console.readLine(); { // if the user entered a return, just loop again if (commandLine.equals("")) { continue; } else if (commandLine.equalsIgnoreCase("exit")) { System.out.println("Goodbye"); System.exit(0); } // split the string into a string array ArrayList<String> parms = new ArrayList<String>(); String[] lineSplit = commandLine.split(" "); int size = lineSplit.length; for (int i=0; i<size; i++) { parms.add(lineSplit[i]); } ProcessBuilder pb = new ProcessBuilder(parms); Process proc = pb.start(); // obtain the input stream InputStream is = proc.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); // read what is returned by the command String line; while ((line = br.readLine()) != null) System.out.println(line); br.close(); } } } } |
[출처] http://www.codeproject.com/Questions/708782/Command-Prompt-Shell-Interface-in-Java
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.