我試圖使我的團隊在我們的windows計算機上運行的linux
框中使用java命令行工具,但是當程序提示輸入時,bufferedReader.readLine()
返回null而沒有提示。爲什麼我在執行bufferedReader.readLine()時返回null?在Windows CMD和PowerShell?
下運行,因爲我渴望linux
和我的IntelliJ 控制檯運行的時候,但在CMD或的PowerShell沒有運行。
public class CliTest {
public static void main(String[] args) throws Exception {
CliTest gen = new CliTest();
gen.run();
}
public void run(){
System.out.println("Hello World");
BufferedReader inputReader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("enter text: ");
String input = inputReader.readLine();
System.out.println("input: " + input);
} catch (IOException e) {
e.printStackTrace();
}
}
是成爲一流的運行/使用gradlew從以下蝙蝠腳本構建:
@rem
@rem run test
@rem
echo off
set LIB=atlib
set CP=%LIB%/*;%LIB%
.\gradlew.bat runCliTest
搖籃任務:
task runCliTest(type:JavaExec) {
def argList = []
main = "com.example.CliTest"
args = argList
println(argList)
workingDir = rootDir
classpath = sourceSets.main.runtimeClasspath
}
這是我希望看到:
Hello World
enter text: 1
input: 1
這就是我得到的:
Hello World
enter text: input: null