在没有网络浏览器的情况下在 JavaScript 中创建一个文件
Create a file in JavaScript without web browser
我的问题是,当 运行 在 Web 浏览器之外时,如何使用 Java 脚本在用户计算机上创建和编辑文件。我知道出于安全原因,这在 Web 浏览器中是不可能的,但是当从命令行调用时,我如何在 JavaScript.
中执行此操作
实际上,我不是 运行 来自命令行我正在使用 Java 来评估它,但我怀疑这是否重要。 (new ScriptEngineManager().getEngineByName("JavaScript").eval(myCode)
,如果你想知道我是怎么做到的。)
与我曾经假设的任何事情相反,当 运行 Java 来自 Java 的脚本使用我上面显示的方法时,Java 脚本将有权访问Java 的标准库。所以要做的就是var writer = new java.io.PrintWriter(new java.io.File("myFile.txt")); writer.println("Text"); writer.flush(); writer.close();
。这实际上非常有效。
编辑:
实际上,Java脚本可以访问您的 Java 应用程序也可以访问的所有 Java 类。因此,您添加的任何 Java 库也可以在您的 JS 中使用。
编辑 2:
有关Java如何启动Java脚本行为的更多信息,请参阅this有关用于解析它的Java脚本引擎的文章。
我的问题是,当 运行 在 Web 浏览器之外时,如何使用 Java 脚本在用户计算机上创建和编辑文件。我知道出于安全原因,这在 Web 浏览器中是不可能的,但是当从命令行调用时,我如何在 JavaScript.
中执行此操作实际上,我不是 运行 来自命令行我正在使用 Java 来评估它,但我怀疑这是否重要。 (new ScriptEngineManager().getEngineByName("JavaScript").eval(myCode)
,如果你想知道我是怎么做到的。)
与我曾经假设的任何事情相反,当 运行 Java 来自 Java 的脚本使用我上面显示的方法时,Java 脚本将有权访问Java 的标准库。所以要做的就是var writer = new java.io.PrintWriter(new java.io.File("myFile.txt")); writer.println("Text"); writer.flush(); writer.close();
。这实际上非常有效。
编辑:
实际上,Java脚本可以访问您的 Java 应用程序也可以访问的所有 Java 类。因此,您添加的任何 Java 库也可以在您的 JS 中使用。
编辑 2:
有关Java如何启动Java脚本行为的更多信息,请参阅this有关用于解析它的Java脚本引擎的文章。