Rhino Server端Javascript是否可以找到并读取任意本地文件的内容?
答案 0 :(得分:11)
当然可以。
来自翻译的:
js> readFile('./tmp.txt');
或代码:
var filesz = readFile('./tmp.txt');
答案 1 :(得分:0)
对于那些想要使用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
。 (如果你知道一个简单的方法来解决这个问题,请发表评论。)