알아낼 수없는 세 가지 질문.Java에서 CommandLine 셸 만들기 : Begginner help
1) processbuilder를 사용하여 cat : C : \ xxx \ xxx.java 파일을 실행하는 새 프로세스를 만들고 싶습니다.하지만 Java 파일을 실행할 수는 없습니다. 나는 "분명히"와 "종료"를 각각 입력 할 때 나는 clearscreen하거나 창을 종료하는 방법을 알아낼 수 없습니다)
3를 컴파일하는 동안
2) 내 배열에 오류를 얻을. system.exit (O)는 가상 시스템을 종료하고 실제로는 창을 닫지 않는 것처럼 보입니다.
여기 내 코드가 있습니다. 유감스럽게 생각해서 미안하지만이 작업을 수행해야하며 요청할 사람이 없습니다.
import java.io.*;
public class SimpleShell
{
public class JavaStringHistory
{
private String[] history = new String[4];
}
public static void main(String[] args) throws
java.io.IOException {
String commandLine;
BufferedReader console = new BufferedReader
(new InputStreamReader(System.in));
//Break with Ctrl+C
while (true) {
//read the command
System.out.print("shell>");
commandLine = console.readLine();
//if just a return, loop
if (commandLine.equals(""))
continue;
//history
if(commandLine.equals('*'))
{
//new class HistoryStringArray();
// {
// history[4] = history[3]
// history[3] = history[2]
// history[2] = history[1]
// history[1] = history[0]
// history[0] = commandLine
}
//help command
if (commandLine.equals("help"))
{
System.out.println();
System.out.println();
System.out.println("Welcome to the shell");
System.out.println("Written by: Brett Salmiery");
System.out.println("CIS 390 - Dr. Guzide");
System.out.println("--------------------");
System.out.println();
System.out.println("Commands to use:");
System.out.println("1) cat prog.java");
System.out.println("2) exit");
System.out.println("3) clear");
System.out.println();
System.out.println();
System.out.println("---------------------");
System.out.println();
}
if (commandLine.equals("clear"))
{
if (int cls = 0; cls < 10; cls++)
{
System.out.print();
}
}
if (commandLine.endsWith(".java"))
{
if(commandLine.startsWith("cat"))
{
System.out.println("test");
ProcessBuilder pb = new ProcessBuilder();
//pb = new ProcessBuilder(commandLine);
}
else
{
System.out.println("Incorrect Command");
}
}
if (commandLine.equals("exit"))
{
System.out.println("...Terminating the Virtual Machine");
System.out.println("...Done");
System.out.println("Please Close manually with Options > Close");
System.exit(0);
}
}
}
}
이 모든 것을 순수 자바로 작성해야합니까 ?? 화면을 지우는 순수 자바 방식 (적어도 Windows 환경에서는)이 없기 때문에. 그러나 JNI를 사용할 수 있다면 그렇게 할 수 있습니다. – Favonius