- 전체
- 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
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

