【发布时间】:2011-08-30 20:16:42
【问题描述】:
Rhino 服务器端 Javascript 是否可以定位和读取任意本地文件的内容?
【问题讨论】:
标签: javascript rhino
Rhino 服务器端 Javascript 是否可以定位和读取任意本地文件的内容?
【问题讨论】:
标签: javascript rhino
是的。
来自解释器:
js> readFile('./tmp.txt');
或在代码中:
var filesz = readFile('./tmp.txt');
【讨论】:
对于那些想要使用charCodeAt 读取来自readFile 的结果的二进制文件的人,不要返回0x7F 以上字节的预期值。如果您想读取二进制文件,最好执行以下操作:
var readBinaryFile=function(path){
var file=java.io.RandomAccessFile(path,'r');
var bytes=java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, file.length());
file.read(bytes);
file.close();
return bytes;
}
这会给你一个字节数组。
警告:当您从该数组中读取字节时,它会将它们视为有符号,即 0xFF 被解释为 -1。 (如果您知道解决此问题的简单方法,请发表评论。)
【讨论】: