Я работаю над проектом Java со старым Framework EchoStudio3 с сервером Tomcat. Я пытаюсь загрузить сгенерированный файл csv, но вместо этого получаю странный файл.Ошибка пути к файлу Java
Вот мой код:
String dir = System.getProperty("user.dir");
File filename = new File(dir, "reports.csv");
FileWriter fw = new FileWriter(filename);
fw.append("User");name
fw.append(',');
fw.append("Count");
fw.append('\n');
fw.append("Bob");
fw.append(',');
fw.append("20");
fw.append('\n');
fw.append("John");
fw.append(',');
fw.append("5");
fw.append('\n');
fw.append("Mike");
fw.append(',');
fw.append("2");
fw.append('\n');
fw.append("Total");
fw.append(',');
fw.append("27");
fw.append('\n');
try {
fw.flush();
fw.close();
URL url = new URL("file:///" + dir);
FileURLConnection urlConn = (FileURLConnection) url.openConnection();
String contentType = "text/csv";
ApplicationInstance.getActive().enqueueCommand(new DownloadCommand(
new FileDownload(contentType,"inline",
filename.getAbsolutePath(),
urlConn.getInputStream())));
} catch (Exception e) {
System.out.println("Error while flushing/closing fileWriter !!!");
e.printStackTrace();
}
У меня есть сервер Tomcat на локальной среде Windows, где я проверить мой код, но развернутая среда будет среда линукс, я, если это будет не знаю вызывают еще одну проблему, но я думаю, что вы должны сейчас. Загрузите файл из приведенного выше кода, называется «C-Program FilesApache Software Foundationapache-tomcat-7.0.64binreports.csv» и содержит в нем список файлов tomcat (bootstrap.jar, catalina.bat, ...) и это действительно странно, потому что сгенерированный файл существует в каталоге bin, но он не тот, который загружен ...
Является ли проблема исходит из пути к файлу?
«Файл: ///» + реж + «/reports.csv», нужен слэш тоже, у меня есть хороший файл сейчас , но я все равно получаю имя файла с полным файловым «C-Program FilesApache Software Foundationapache-tomcat-7.0.64binreports.csv». –
изменить 'filename.getAbsolutePath()' с 'filename.getName()'? – Aaron