Java BufferedReader openvms
Java BufferedReader openvms
我是 JAVA 新手,正在开发我的第一个程序。我在 Windows 7 PC 上使用 Eclipse Luna。我正在编译的 JAVA 版本是 1.4.2,因为这是我无法更改的目标系统上 JAVA 的版本。目标系统是 运行ning HP OpenVMS。
在 PC 上,我只是想从键盘获取输入字符串,然后将其打印出来。它在 PC 上运行良好。然后我 Export -> Runnable JAR
到 OpenVMS 框并在那里 运行 。当我这样做时,我得到 Enter Input String:
提示。在我不触摸键盘的情况下,它很快就会变成 Enter Input String: String is null
,程序就在那时结束。代码如下所示。有人可以告诉我我做错了什么吗?
JAVA代码
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter input string: ");
String s = br.readLine();
System.out.println("String is " + s);
}
}
在 openVMS 机器上,我正在 运行 宁此命令文件
$ set file/attr=(rfm:stmlf,rat:cr) xx2.jar
$ java -cp xx2.jar test.test
这个输出看起来像
$ @test
$ Enter input string: String is null
您是 运行 一个 DCL 脚本,又名命令过程。也就是说,输入被重定向到您的命令文件。看起来 Java 命令是命令文件中的最后一行,所以 readLine()
得到 EOF
.
尝试从 DCL 命令行执行 Java 命令或将命令过程更改为
$ set file/attr=(rfm:stmlf,rat:cr) xx2.jar
$ define/user sys$input sys$command
$ java -cp xx2.jar test.test
这会将输入重定向到您启动命令过程的来源,通常是您的终端。
我是 JAVA 新手,正在开发我的第一个程序。我在 Windows 7 PC 上使用 Eclipse Luna。我正在编译的 JAVA 版本是 1.4.2,因为这是我无法更改的目标系统上 JAVA 的版本。目标系统是 运行ning HP OpenVMS。
在 PC 上,我只是想从键盘获取输入字符串,然后将其打印出来。它在 PC 上运行良好。然后我 Export -> Runnable JAR
到 OpenVMS 框并在那里 运行 。当我这样做时,我得到 Enter Input String:
提示。在我不触摸键盘的情况下,它很快就会变成 Enter Input String: String is null
,程序就在那时结束。代码如下所示。有人可以告诉我我做错了什么吗?
JAVA代码
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter input string: ");
String s = br.readLine();
System.out.println("String is " + s);
}
}
在 openVMS 机器上,我正在 运行 宁此命令文件
$ set file/attr=(rfm:stmlf,rat:cr) xx2.jar
$ java -cp xx2.jar test.test
这个输出看起来像
$ @test
$ Enter input string: String is null
您是 运行 一个 DCL 脚本,又名命令过程。也就是说,输入被重定向到您的命令文件。看起来 Java 命令是命令文件中的最后一行,所以 readLine()
得到 EOF
.
尝试从 DCL 命令行执行 Java 命令或将命令过程更改为
$ set file/attr=(rfm:stmlf,rat:cr) xx2.jar
$ define/user sys$input sys$command
$ java -cp xx2.jar test.test
这会将输入重定向到您启动命令过程的来源,通常是您的终端。