Java BufferedReader openvms

标签 java openvms

我是一名 JAVA 新手,正在开发我的第一个程序。我在 Windows 7 PC 上使用 Eclipse Luna。我正在编译的 JAVA 版本是 1.4.2,因为这是我无法更改的目标系统上的 JAVA 版本。目标系统正在运行 HP OpenVMS。

在 PC 上,我只是想从键盘获取输入字符串,然后将其打印出来。它在 PC 上运行良好。然后,我Export -> Runnable JAR 到 OpenVMS 框并在那里运行它。当我这样做时,我会收到 Enter Input String: 提示。如果我不触摸键盘,它很快就会变成输入输入字符串:字符串为空,程序就在此时结束。代码如下所示。有人可以告诉我我做错了什么吗?

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 BufferedReader openvms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778312/

相关文章:

java - 尝试在 webView 中登录 facebook 时出现空白页面

java - 更新 jar 中的 .class 文件会引发异常

c - 如何在openvms中读取命令行参数来运行c程序?

c++ - 在 OpenVM 上构建 Boost

java - CDI : inject two generics from the same template

java - Spring 秒表并发

java - Android 按钮的动画效果不符合预期

java - 具有基本身份验证的简单 jax-ws-webservice

OpenVMS 上的 Java 性能

virtual-machine - 是否可以在 VirtualBox 上安装 openvms 镜像 (iso)?