为了账号安全,请及时绑定邮箱和手机立即绑定

写入带有子文件夹的新文件时自动创建整个路径

写入带有子文件夹的新文件时自动创建整个路径

胡说叔叔 2021-06-21 19:15:33
我想在当前不存在的文件夹中写入一个新文件。我像这样使用它:File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");file.getParentFile().mkdirs();FileWriter writer = new FileWriter(file);我filename.txt在一个名为dir1.dir2.我需要dir1/dir2:我怎样才能做到这一点?请不要将此问题标记为重复,因为我在研究后没有得到我需要的东西。更新 1我正在使用带有 Spring Boot 的 Jasper Report 导出 pdf 文件。我需要在目录名称下创建文件current year. 在这个文件夹下,我需要创建一个名为 的目录the current month,在这个目录下应该导出pdf文件。例子 :(2018/auguest/report.pdf)我LocalDateTime用来获取 year和month这是我的代码的一部分:    ReportFiller reportFiller = context.getBean(ReportFiller.class);    reportFiller.setReportFileName("quai.jrxml");    reportFiller.compileReport();    reportFiller = context.getBean(ReportFiller.class);    reportFiller.fillReport();    ReportExporter simpleExporter = context.getBean(ReportExporter.class);    simpleExporter.setJasperPrint(reportFiller.getJasperPrint());    LocalDateTime localDateTime = LocalDateTime.now();    String dirName = simpleExporter.getPathToSaveFile() + "/"+     localDateTime.getYear() + "/" + localDateTime.getMonth().name();    File dir = new File(dirName);    dir.mkdirs();    String fileName = dirName + "/quaiReport.pdf";    simpleExporter.exportToPdf(fileName, "");这是我得到的:
查看完整描述

3 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

尝试下面的代码,它将按照您的期望工作


File dir = new File("C:\\Users\\username\\Desktop\\dir1\\dir2");

dir.mkdirs();

File file = new File(dir, "filename.txt");

FileWriter newFile = new FileWriter(file);

您需要先创建文件夹结构,然后再创建文件


查看完整回答
反对 回复 2021-06-23
  • 3 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信