使用java在JavaScript中创建文件

时间:2012-12-07 00:02:41

标签: java javascript imacros

首先我是iMacros脚本编写者。 这是用于编写文件的java函数(不完全完整,但你会得到这个想法)

 bufferedWriter = new BufferedWriter(new FileWriter(filename));

            //Start writing to the output stream
            bufferedWriter.write("Writing line one to file");

现在,下面是JavaScript中用来执行与上述函数相同任务的java函数,我在iMacros中运行该.js文件。像魅力一样。

//Function to write the file
function writeFile(filename, data)
{
   try
   { 

      //write the data

      out = new java.io.BufferedWriter(new java.io.FileWriter(filename, true));
      out.newLine();
      out.write(data);
      out.close();
      out=null;
   }
   catch(e)   //catch and report any errors
   {
      alert(""+e);
   }
}

现在我需要一个在硬盘位置创建文件和文件夹的java函数,我发现了这个。

package com.mkyong.file;

import java.io.File; import java.io.IOException;

public class CreateFileExample 
{
    public static void main( String[] args )
    {   
        try {

          File file = new File("c:\\newfile.txt");

          if (file.createNewFile()){
            System.out.println("File is created!");
          }else{
            System.out.println("File already exists.");
          }

        } catch (IOException e) {
          e.printStackTrace();
    }
    }
}

但是现在我需要java函数来创建文件夹和一个空文件(具有不同的扩展名,如.txt .csv等),该函数将在JavaScript中运行。

任何人都可以从上面的两个例子中给我一些指导方针吗?如何用Java编写函数并在JavaScript中运行?

2 个答案:

答案 0 :(得分:2)

我不会声称完全理解这个问题,但这是如何确保某个目录存在,并在其中创建一个随机文件:

// make the dir and ensure the entire path exists
File destinationDir = new File("c:\\whereever\you\want\that\file\to\land").mkdirs();
// make some file in that directory
File file = new File(destinationDir,"whateverfilename.whateverextension");
// continue with your code
if (file.createNewFile()){
    System.out.println("File is created!");
}else{
    System.out.println("File already exists.");
}

答案 1 :(得分:2)

此功能用于iMacros .js文件。它是用JavaScript调用的Java方法。

createFile("C:\\testingfolder","test.csv");

function createFile(folder,file)
{

destinationDir = new java.io.File(folder).mkdirs();
file = new java.io.File(folder,file);
file.createNewFile();
}

该函数创建文件夹,并在其中创建文件。