Chinaunix首页 | 论坛 | 博客
  • 博客访问: 805886
  • 博文数量: 780
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-12 09:11
文章分类

全部博文(780)

文章存档

2011年(1)

2008年(779)

我的朋友
最近访客

分类:

2008-09-12 09:11:59

    今天大家讨论说发现 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. (#1) in at line number 1
js> new JFrame("a").show();
script error: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "JF
rame" is not defined. (#1) in at line number 1
js> new javax.swing.JFrame("a").show();

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

    这样的 DOS 命令解释器应用我们也可以用 来做, 例如下面的代码就实现了一个提示 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 -P -M
 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 实现

【责编:Chuan】

--------------------next---------------------

阅读(363) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~