【问题标题】:use java to create file in JavaScript使用 java 在 JavaScript 中创建文件
【发布时间】:2012-12-07 00:02:40
【问题描述】:

首先,我是 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 函数来在硬盘位置创建文件和文件夹,我找到了这个。

打包 com.mkyong.file;

导入 java.io.File; 导入 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 中运行它?

【问题讨论】:

  • File 有一个方法mkdirs() 会创建丢失的子目录,但我怀疑这对你没有多大帮助。尽管名称相似,Java 和 Javascript 是两种完全不同的语言,大多生活在不同的环境中。你需要澄清你需要什么,我对Now bellow is java function used in JavaScript to do the same task as the function above and I run that .js file in iMacros. Works like a charm. 感到特别困惑,这似乎暗示你已经以某种方式从 javascript 调用了 Java???
  • "这似乎表明您已经以某种方式从 javascript 调用了 Java???" 是的!由于 JavaScript 不能写入文件,我使用 Java 并在 JavaScript 中调用它来写入文件。所以上面你有在 JavaScript 中调用的 Java 方法来打开和写入文件中的文本。所以我举了一个例子,我如何在 JavaScript 文件中使用 Java,然后按 Play 在 iMacros 中完成这项工作。因此,从该示例中,我需要在该文件夹中创建文件夹和文件的函数。现在明白了吗?

标签: java javascript imacros


【解决方案1】:

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

// 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.");
}

【讨论】:

  • 我用你的例子写了这个destinationDir = new java.io.File("c:\\testingfolder").mkdirs();它奏效了!我创建了一个新文件夹,但是当我写这个文件时 = new java.io.File(destinationDir,"test.csv");它没有在那个文件夹中创建新文件......当我写这个 file.createNewFile();我有一个错误。 java.io.IOException:系统找不到指定的路径(错误代码:991)差不多了!
  • 我找到了解决方案。伙计,你帮了我很多。真的。我会在这里写一个解决方案,如果有人需要,他们可以使用它。
【解决方案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();
}

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

【讨论】:

    猜你喜欢
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多