java 创建多级目录和文件 乔乐共享纵观千象directoryfileexist
程序员文章站
2022-05-17 11:45:37
...
/** * 新建目录. * * @param path 文件路径 * @throws Exception */ public static void createDirectory(String path) throws Exception { if (StringUtils.isEmpty(path)) { return; } try { // 获得文件对象 File f = new File(path); if (!f.exists()) { // 如果路径不存在,则创建 f.mkdirs(); } } catch (Exception e) { log.error("创建目录错误.path=" + path, e); throw e; } } /** * 新建文件. * * @param path 文件路径 * @throws Exception */ public static void createFile(String path) throws Exception { if (StringUtils.isEmpty(path)) { return; } try { // 获得文件对象 File f = new File(path); if (f.exists()) { return; } // 如果路径不存在,则创建 if (!f.getParentFile().exists()) { f.getParentFile().mkdirs(); } f.createNewFile(); } catch (Exception e) { log.error("创建文件错误.path=" + path, e); throw e; } } /** * 保存文件(文件不存在会自动创建). * * @param path 文件路径 * @param content 文件内容 * @throws Exception */ public static void saveFile(String path, String content) throws Exception { saveFile(path, content, DEFAULT_ENCODE); } /** * 保存文件(文件不存在会自动创建). * * @param path 文件路径 * @param content 文件内容 * @param encoding 编码(UTF-8/gb2312/...) * @throws Exception */ public static void saveFile(String path, String content, String encoding) throws Exception { FileOutputStream fileOutputStream = null; BufferedOutputStream bw = null; try { // 获得文件对象 File f = new File(path); // 默认编码UTF-8 encoding = (StringUtils.isEmpty(encoding)) ? DEFAULT_ENCODE : encoding; // 如果路径不存在,则创建 if (!f.getParentFile().exists()) { f.getParentFile().mkdirs(); } // 开始保存文件 fileOutputStream = new FileOutputStream(path); bw = new BufferedOutputStream(fileOutputStream); bw.write(content.getBytes(encoding)); } catch (Exception e) { log.error("保存文件错误.path=" + path + ",content=" + content + ",encoding=" + encoding, e); throw e; } finally { if (bw != null) { try { bw.close(); } catch (IOException e1) { } } if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e1) { } } } }
上一篇: 包相爷的称号是怎么来的?包拯当过宰相吗
下一篇: 好笑好玩的开心句段十则