继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Learning Rhino - 2

代码写到手抽筋
关注TA
已关注
手记 294
粉丝 27
获赞 113

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 offecho.echo ---------- hello ----------java -cp libjs.jar org.mozilla.javascript.tools.shell.Main scriptshello.js Hello Rhino

And the result:

arguments[0] = Helloarguments[1] = Rhino2 + 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:documentsRhinoTestHome directory = C:Documents and SettingssanshiAccount name = sanshiLine separator ("n" on UNIX) = rnFile 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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP