2017-06-17 86 views
0

我的问题是,如何在Web浏览器外部运行时使用JavaScript在用户计算机上创建和编辑文件。我知道这是不可能的,出于安全原因,在Web浏览器内部,但从命令行调用时,我怎么能在JavaScript中做到这一点。使用JavaScript创建文件而不使用网络浏览器

实际上,我并不是从命令行运行,而是使用Java来评估它,但我怀疑这会起作用。 (new ScriptEngineManager().getEngineByName("JavaScript").eval(myCode),如果你想知道我是怎么做的)。

+0

这是一个很好的观点,它是由Java调用的,但这可能不够理想,现在我想到了它。 –

+0

为什么你会尝试通过JavaScript做文件管理,当你可以直接用java来做? –

+0

@PatrickEvans在这种情况下,我无法直接使用Java,直到运行时才会知道实际的JavaScript代码。 –

回答

0

与我曾经假设的任何事情相反,当我用上面显示的方法从Java运行JavaScript时,JavaScript将有权访问Java的标准库。因此,所要做的就是var writer = new java.io.PrintWriter(new java.io.File("myFile.txt")); writer.println("Text"); writer.flush(); writer.close();。这实际上完美的作品。

编辑:

其实,JavaScript就可以访问所有的Java应用程序访问过的Java类。所以你添加的任何Java库都可以在你的JS中使用。

编辑2:

有关Java如何启动JavaScript的表现方式请参阅用于解析它的JavaScript引擎this文章的详细信息。

相关问题