当前位置:  开发笔记 > 编程语言 > 正文

Java Nashorn脚本模式:如何写入文件

如何解决《JavaNashorn脚本模式:如何写入文件》经验,为你挑选了1个好方法。

我正在编写要在Java 8下与jjs -scripting一起运行的Shell脚本。但是,一个关键的要求是我需要能够写入许多文件。(因此,我不能只将print()输出到标准输出并重定向。)

可以方便地使用readFully来读取文件,但是我看不到任何writeFully,这对我来说似乎很奇怪。

我以为可能我只能$ EXEC一个echo命令,但是我不能使它正常工作:

jjs> x='some string'
some string
jjs> $EXEC("echo '"+x+"' >test.out");
some string >test.out

因此,我的下一个想法是,我必须加载并调用适当的Java类,但这似乎使一个简单的函数过于复杂。我想念什么?



1> randomScott..:

我能弄清楚的最好方法是通过Java FileWriter类来实现。例如,我有一个需要写入文件的链接数组:

var FileWriter=Java.type("java.io.FileWriter");
var olinkfile = caldir+"/"+year+"_links.html";
var fw = new FileWriter(olinkfile);
fw.write(links.join("\n"));
fw.write("\n");
fw.close();  // forgetting to close it results in a truncated file

尽管JJS提供直接从JavaScript执行此功能而不必手动实例化FileWriter类会很好,但这确实不是太多代码。一旦完成,它似乎几乎是显而易见的。

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有