【发布时间】:2018-10-26 14:24:49
【问题描述】:
我正在尝试与目录一起创建一个新文件,但是当我调用“fos = new FileOutputStream(file);”时它总是抛出文件未找到错误。 这是代码
FileOutputStream fos = null;
String getName = "User";
String filePath="D:/New file";
File file;
Date date = new Date();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
String headerDate = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(date);
try {
WritableWorkbook w = Workbook.createWorkbook(outputStream);
WritableSheet s = w.createSheet("Report generate", 0);
s.addCell(new Label(0, 0, "New File" + getName));
s.addCell(new Label(0, 2, "Response Date: " + headerDate));
w.write();
w.close();
String resultFileName = "NewFileToGenerate" +getName+headerDate+ ".xls";
String fileName = filePath.concat(resultFileName);
file = new File(fileName);
file.mkdirs();
file.createNewFile();
fos = new FileOutputStream(file);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos = outputStream;
// Put data in your baos
baos.writeTo(fos);
} catch (Exception e) {
} finally {
outputStream.close();
fos.close();
}
这里我有文件路径,但在该文件路径中,我必须通过在其中添加日期来创建另一个文件夹,然后我必须保存文件。
这里是堆栈跟踪
D:/New File/NewFileToGenerateUser26/2018 20:00:14.xls(是目录)
【问题讨论】:
-
请您也发布堆栈跟踪吗?了解正在发生的事情通常很有帮助;)
-
如果文件引用的是目录而不是常规文件,则会发生这种情况。
-
@Alexandre 使用堆栈跟踪进行编辑