为了账号安全,请及时绑定邮箱和手机立即绑定

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 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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消