Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 현재 JShell 세션을 저장하는 방법은 무엇입니까?


자바 9 REPL 생성이라는 새로운 기능을 도입했습니다. (읽기-평가-인쇄-루프 ) JShell이라고 함 . 명령줄입니다. 완전한 프로그램을 작성할 필요 없이 Java 코드를 평가하는 프롬프트 도구입니다.

JShell에 코드나 내부 명령을 입력할 수 있으면 현재 세션에서 사용해야 합니다. JShell을 닫고 다시 로그인하면 이전에 입력한 모든 코드가 손실됩니다. "/save를 사용하여 파일에 입력된 모든 코드를 저장하기 위해 내부 명령이 구현되었습니다. " 명령.

/ save [file-path]
/ save -all [file-path]
/ save -history [file-path]
/ save -start [file-path]
  • /저장 [파일 경로]: 인수 없이 이 명령은 세션 중에 입력된 모든 활성 코드를 두 번째 인수에 입력된 파일에 저장합니다. 오류로 입력된 코드와 내부 명령어는 파일에 저장되지 않으니 주의하세요.
  • /save -all [파일 경로]: 오류 및 시작 시 세션 중에 입력된 모든 활성 코드를 두 번째 인수로 입력된 파일에 저장합니다. 입력한 내부 주문은 기록되지 않습니다.
  • /save -history [파일 경로]: 세션 중에 입력한 모든 코드와 명령을 두 번째 인수에 입력한 파일에 저장합니다. 내부 명령어도 파일에 저장됩니다.
  • /저장 - 시작 :JShell 때 실행된 모든 코드를 저장합니다. 시작합니다.

아래 코드 스니펫에서 JShell에 입력한 코드는 "/save" 뒤에 입력하는 옵션에 따라 다른 파일에 저장됩니다. 명령. ".jsh가 있는 디렉토리에 해당 파일을 저장해야 합니다. " 확장자

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> int x = 20
x ==> 20

jshell> double y = 30
y ==> 30.0

jshell> public int sum(int a, int b) {
...>       return a + b;
...>    }
| created method sum(int,int)

jshell> String str = "TutorialsPoint"
str ==> "TutorialsPoint"

jshell> /list

1 : int x = 20;
2 : double y = 30;
3 : public int sum(int a, int b) {
       return a + b;
    }
4 : String str = "TutorialsPoint";

jshell> int var = "error"
|   Error:
|   incompatible types: java.lang.String cannot be converted to int
|   int var = "error";
|   ^-----^

jshell> /save C:\Users\User\save.jsh

jshell> /save -all C:\Users\User\saveAll.jsh

jshell> /save -history C:\Users\User\saveHistory.jsh

jshell> /save -start C:\Users\User\saveStart.jsh