2017-06-17 115 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文章的詳細信息。

相關問題