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:

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

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

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
70 Cliche Command-Line Shell file 졸리운_곰 2015.07.12 726
» Command Prompt Shell Interface in Java 졸리운_곰 2015.07.12 310
68 Eclipse RCP 프로그램에서 Console 뷰 사용하기 file 졸리운_곰 2015.07.08 410
67 I/O from the Command Line 졸리운_곰 2015.07.05 267
66 java unix console 졸리운_곰 2015.07.05 208
65 java console 졸리운_곰 2015.07.05 223
64 Java Console and File Input/Output Cheat Sheet 졸리운_곰 2015.07.05 249
63 Demonstrates standard I/O redirection 졸리운_곰 2015.07.05 232
62 [SWING] 분석에 도전해볼만한 오픈소스 WebHarvest Java WebCrawler GUI file 졸리운_곰 2015.05.20 778
61 FreeLayout: A New Java Layout file 졸리운_곰 2015.05.14 315
60 JAVA SWT XML EDITOR sample : 자바 SWT XML 에디터 예제 file 졸리운_곰 2015.05.12 379
59 JAVA SWT 대화상자 예제 : 동적으로 컨트롤을 추가하고 삭제하는 예제 졸리운_곰 2015.05.11 345
58 JAVA SWT LINUX (Ubuntu) 에서 SWT Browser Control 사용시 졸리운_곰 2015.05.10 278
57 JAVA SWT TEST 자료 졸리운_곰 2015.05.07 752
56 SWT 스크롤 ScrolledComposite file 졸리운_곰 2015.05.03 407
55 xerces Xpath - search node from another node 졸리운_곰 2015.04.29 335
54 xerces를 사용한 dom 방식의 xml parser lib 졸리운_곰 2015.04.28 426
53 자바에서 XPath 사용 하기 졸리운_곰 2015.04.28 539
52 Java XML정리 : 노드선택 Select Node(s) 졸리운_곰 2015.04.28 442
51 SWT JAVA 동적으로 컨트롤을 추가하는 다이얼로그2 file 졸리운_곰 2015.04.27 325
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED