Экспорт .csv с использованием java.io.FileOutputStream - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь экспортировать в сгенерированный JavaScript CSV-файл в путь (например, "C: / ExportedDocuments /"), используя java.io.FileOutputStream. Тем не менее, я предполагаю, что что-то отсутствует или неправильно определено в моем коде, так как я получаю сообщение об ошибке, что я пытаюсь использовать метод, который не существует. Как было упомянуто в разделе комментариев, я, скорее всего, ошибочно передаю CSV в FileOutputStream. Но я не знаю, как это сделать правильно.

Код работает как Workflow-Script.

Вот мой код:

var data = [
   ['Audi', 'A8'],
   ['VW', 'Golf R'],
   ['BMW', 'M3']
];

var csv = 'Brand,Model';
  data.forEach(function(row) {
      csv += row.join(',');
      csv += "\n";
});

outputStream = new java.io.FileOutputStream("C:/ExportedDocuments/" + "textfile" + ".csv");
org.apache.commons.io.IOUtils.copy(csv, outputStream);
outputStream.close();

Это ошибка:

Не удалось выполнить экспорт: java.lang.NoSuchMethodException: нет исправлений подписи арности [(java.io.InputStream, java.io.OutputStream), (java.io.Reader, java.io.Writer), (java.io.InputStream, java.io.Writer), (java.io.Reader, java.io.OutputStream)] метода org.apache.commons.io.IOUtils.copy соответствует типам аргументов [jdk.nashorn.internal.runtime.ConsString, java.io.FileOutputStream]

1 Ответ

0 голосов
/ 18 января 2019

Мне пришлось создать ByteArrayInputStream. Это рабочее решение:

var data = [
   ['Audi', 'A8'],
   ['VW', 'Golf R'],
   ['BMW', 'M3']
];

var csv = 'Brand,Model';
  data.forEach(function(row) {
      csv += row.join(',');
      csv += "\n";
});

var CSVStream = new java.io.ByteArrayInputStream(csv.getBytes("UTF-8"));

outputStreamcsv = new java.io.FileOutputStream("C:/ExportedDocuments/" + "name" + ".csv");
org.apache.commons.io.IOUtils.copy(CSVStream, outputStreamcsv);
outputStreamcsv.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...