服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > JDK > 查看文档

jdk 1.6 的 jrunscript.exe 用途

    今天大家讨论说发现 jdk 1.6 安装目录下有个 jrunscript.exe, 不知道是干啥的, 在 dos 下运行一下看看:

d:\jee5training\jdk1.6.0\bin>jrunscript.exe
js> var a = 2;
js> print(a)
2js> println(a)
2
js>
js> alert(a)
script error: sun.org.mozilla.javascript.internal.ecmaerror: referenceerror: "al
ert" is not defined. (<stdin>#1) in <stdin> at line number 1
js> new jframe("a").show();
script error: sun.org.mozilla.javascript.internal.ecmaerror: referenceerror: "jf
rame" is not defined. (<stdin>#1) in <stdin> at line number 1
js> new javax.swing.jframe("a").show();

    原来是 js 解释器, 注意不在浏览器中运行, 所以 alert 这样的方法是不能用的。 但是可以调用 java 类, 例如 gui 库。

    这样的 dos 命令解释器应用我们也可以用 java 来做, 例如下面的代码就实现了一个提示 commmand: 的命令行应用:

import java.io.*;
public class customcmd
{
    
public static void main(string[] args) throws ioexception
    {
      bufferedreader cmdin 
= new bufferedreader(new inputstreamreader(system.in));
      system.out.println(
"enter \"quit\" to quit this program.");
      
for(;;) {
        system.out.print(
"command:");
        string cmd 
= cmdin.readline();
        
if(cmd.equalsignorecase("quit")) break;// quit the program
        system.out.println("your input: " + cmd.touppercase());
        
// process the command
      }
    }
}

    其他的一些命令行小代码:

    命令行形式下在同一行上反复输出文本使用 system.out.print("…… \r");// \r表示回车, \n表示换行

分析带选项的命令行输入
 如: -s <server> -p <port> -m <message>
 public static void main(string args[]) {
   // parse the command line options
   for(int i = 0; i < args.length - 1; i++) {
     if(args[i].equalsignorecase("-s")) {
  string server = args[i + 1];
     }else if(args[i].equalsignorecase("-p")) {
  string port = args[i + 1];
     }
     ...// other parameters
   }

    相关资料: java 6 的默认 js 脚本引擎是 rhino, 是 mozilla 开源的 js 引擎, 基于 java, 我们可以下载其单独的包用在 jdk 1.4 或者 1.5. 这样应用可以将一些业务逻辑代码用 js 实现

扫描关注微信公众号