zoukankan      html  css  js  c++  java
  • Learning Rhino 2

    Hello Rhino
    First, look at my examples' file structure:

    RhinoTest
    	lib
    		js.jar
    	scripts
    		hello.js
    		file1.js
    	run.bat
    

    My first rhino example is hello.js:

    for (var i = 0; i < arguments.length; i++) {
        print('arguments[' + i + '] = ' + arguments[i]);
    }
    
    function add() {
        var result = 0;
        for (var i = 0; i < arguments.length; i++) {
            result += arguments[i];
        }
        return result;
    }
    print('2 + 5 + 3 = ' + add(2, 5, 3));
    

    The hello.js is executed through batch file run.bat:

    @echo off
    
    echo.
    echo ---------- hello ----------
    java -cp libjs.jar org.mozilla.javascript.tools.shell.Main scriptshello.js Hello Rhino
    

    And the result:

    arguments[0] = Hello
    arguments[1] = Rhino
    2 + 5 + 3 = 10
    

    How to get user’s current working directory
    We all know java.lang.System class contains several useful fields and methods.
    The getProperties method can be used to determine the current system properties.

    var System = Packages.java.lang.System;
    
    print('Working directory = ' + System.getProperty('user.dir'));
    print('Home directory = ' + System.getProperty('user.home'));
    print('Account name = ' + System.getProperty('user.name'));
    print('Line separator ("\n" on UNIX) = ' + (String(System.getProperty('line.separator')) === 'rn' ? '\r\n' : '\n'));
    print('File separator ("/" on UNIX) = ' + System.getProperty('file.separator'));
    

    Output:

    Working directory = D:documentsRhinoTest
    Home directory = C:Documents and Settingssanshi
    Account name = sanshi
    Line separator ("n" on UNIX) = rn
    File separator ("/" on UNIX) = 
    

    File or Path exist

    var System = Packages.java.lang.System;
    var File = Packages.java.io.File;
    var userDir = System.getProperty('user.dir');
    
    var file = new File(userDir + "\scripts\hello.js");
    print(file.exists());   /* true */
    print(new File(userDir + "\scripts").exists());   /* true */
    

    Read File to string
    Use LineNumberReader to read file to string:

    var System = Packages.java.lang.System;
    var File = Packages.java.io.File;
    var lineSeparator = System.getProperty('line.separator');
    var userDir = System.getProperty('user.dir');
    
    var reader = new Packages.java.io.LineNumberReader(
        new Packages.java.io.FileReader(userDir + "\scripts\hello.js"));
    var lines = [];
    while (line = reader.readLine()) {
        lines.push(line);
        lines.push(lineSeparator);
    }
    reader.close();
    print(lines.join(''));
    

    Write string to file
    Refer to BufferedWriter

    var System = Packages.java.lang.System;
    var userDir = System.getProperty('user.dir');
    
    var writer = new Packages.java.io.PrintWriter(
        new Packages.java.io.BufferedWriter(
    	    new Packages.java.io.FileWriter(userDir + "\scripts\output.txt")));
    writer.write("This is file content.rnIt's easy!");
    writer.flush();
    writer.close();
    

    Refer to JsDoc Toolkit

  • 相关阅读:
    分数的表示和运算
    用户管理
    DML,DDL
    索引
    sql语句执行顺序
    伪劣
    序列
    视图
    完整性约束
    ASP.NET MVC学习笔记(二)登陆验证
  • 原文地址:https://www.cnblogs.com/sanshi/p/1490156.html
Copyright © 2011-2022 走看看