Считывание данных из командной строки

162
28 марта 2018, 04:43

Я написал программу при помощи Java, в которой есть главное окно для набора текста, окно для вывода сообщений и ошибок, а так же кнопка запустить. Своеобразная максимально минималистичная IDE так сказать. Код ниже. Выводит сообщения на подобие System.out.print("") при помощи Buffered reader. Помогите пожалуйста сделать ввод сообщений с клавиатуры. Как в командной строке при Scanner и String line = scanner.nextLine. Чтобы вводить можно было в мой txtAreaOutput. Помогите чем можете пожалуйста. Вот код

public class Controller {
    @FXML
    public TextArea areaTxtMain;
    @FXML
    public TextArea txtAreaOutput;
    @FXML
    public CheckBox checkBoxIcludeMain;
    @FXML
    public Label label;
    @FXML
    public CheckBox showDirectoryCheckBox;
    boolean checkMain = true;
    String myJarPath = Controller.class.getProtectionDomain().getCodeSource().getLocation().getPath();
    String className = "Main";
    String code = "          //put your code hear";
    String classMain = "public class " + className + "{ \n     public static void main(String[] args){ \n " + code + "\n     } \n}";
    @FXML
    void initialize() {
        areaTxtMain.setText(classMain);
        label.setText("Output log screen     " + new File(myJarPath).getParent() + "\\");
    }
    public void launchBtnAction(ActionEvent actionEvent) {
        String dirPath = new File(myJarPath).getParent() + "\\" + className + "\\" + className + ".java";
        String path = new File(myJarPath).getParent();
        try {
            makeDir(className);

            if (checkMain) {
                FileWriter writer = new FileWriter(dirPath, false);
                writer.write(areaTxtMain.getText());
                writer.flush();
            } else {
                String data = "public class " + className + "{ \n     public static void main(String[] args){ \n " + areaTxtMain.getText() + "\n     } \n}";
                FileWriter writer = new FileWriter(dirPath, false);
                writer.write(data);
                writer.flush();
            }
            String runCommand = "cmd /c cd " + path + "\\" + className + " && javac " + className + ".java" + " && java " + className;
            Process run = Runtime.getRuntime().exec(runCommand);
            readData(run);

        } catch (Exception ex) {
            StringWriter errors = new StringWriter();
            ex.printStackTrace(new PrintWriter(errors));
            txtAreaOutput.setText(errors.toString());
        }
    }
    public void checkBoxIncludeMain(ActionEvent actionEvent) {
        if (checkBoxIcludeMain.isSelected()) {
            areaTxtMain.setText("public class " + className + "{ \n     public static void main(String[] args){ \n " + "          " + areaTxtMain.getText() + "\n     } \n}");
            checkMain = true;
        } else {
            areaTxtMain.setText("");
            checkMain = false;
        }
    }
    public void clearLogScreen(ActionEvent actionEvent) {
            txtAreaOutput.setText("");
    }
    public void checkShowBox(ActionEvent actionEvent) {
        if (showDirectoryCheckBox.isSelected()) {
            label.setText(label.getText() + "     " + new File(myJarPath).getParent());
        } else {
            label.setText("Output log screen");
        }
    }
    public String readData(Process run) throws Exception {
        String line;
        BufferedReader bri = new BufferedReader(new InputStreamReader(run.getInputStream()));
        BufferedReader bre = new BufferedReader(new InputStreamReader(run.getErrorStream()));
        while ((line = bri.readLine()) != null) {
            txtAreaOutput.setText(line);
        }
        bri.close();
        while ((line = bre.readLine()) != null) {
            txtAreaOutput.setText(line);
        }
        bre.close();
        run.waitFor();
        return line;
    }
    public void makeDir(String dirName) {
        String path = new File(myJarPath).getParent();
        File myPath = new File(path + "\\" + dirName);
        myPath.mkdir();
    }
}
READ ALSO
jquery-Knob library

jquery-Knob library

Добрый день всемПытаюсь подключить библиотеку jquery-knob, устанавливал через npm install jquery-knob, в package-json она есть"jquery-knob": "^1

146
ajax - обработка возвращаемых данных

ajax - обработка возвращаемых данных

Вопрос следующий: как получить значение data, которое передает php сервер js скрипту в текстовом формате (что бы потом сделать проверку, например...

201
Как убрать из диапазона чисел лишние на jQuery?

Как убрать из диапазона чисел лишние на jQuery?

Подскажите пожалуйста каким образом можно из диапазона чисел в input="number" убрать лишние числа? Нужно чтобы остались числа 3,4,5,6,7,8,9,10,11,12,18,20,24Вроде...

202
wrapAll Как оборачивать группами?

wrapAll Как оборачивать группами?

Добрый день уважаемыеТакой вопрос как оборачивать li с class="item" в теги li class="item_group" ul class="ul_group"

170