java代码写入文件的方法大全
下文笔者讲述写入文件的方法大全,如下所示
写入数据byte[]
写入文件的实现思路
写入文件的实现思路 借助FileOutputStream 然后向outputStream中写入字节数组 或 写入字符串
写入数据byte[]
而不只是文本
直接使用FileOutputStream
/** * 保存文件数据 * * @param file 文件对象 * @param data 文件数据 */ public static void save(File file, byte[] data) { try (OutputStream out = new FileOutputStream(file)) { out.write(data); out.flush(); } catch (IOException e) { LOGGER.warning(e); } }
字符串写入到文本的方法
/** * 保存文本文件 * * @param file 文件对象 * @param text 文本内容 */ public static void saveTextOld(File file, String text) { LOGGER.info("正在保存文件{0}, 保存内容:\n{1}", file.toString(), text); try (OutputStream out = new FileOutputStream(file);) { bytes2output(out, text.getBytes(StandardCharsets.UTF_8)); } catch (IOException e) { LOGGER.warning(e); } }
写入文件的新方法
使用Files.write()方法保存数据例
/** * 保存文件数据 * * @param file 文件对象 * @param data 文件数据 * @param isOverwrite 是否覆盖文件 */ public static void save(File file, byte[] data, boolean isOverwrite) { LOGGER.info("正在保存文件" + file); try { if (!isOverwrite && file.exists()) throw new IOException(file + "文件已经存在,禁止覆盖!"); if (file.isDirectory()) throw new IOException(file + " 不能是目录,请指定文件"); if (!file.exists()) file.createNewFile(); Files.write(file.toPath(), data); } catch (IOException e) { LOGGER.warning(e); } }
保存文本文件
/** * 保存文本内容 * * @param file 文件对象 * @param text 文本内容 */ public static void saveText(File file, String text) { if (Version.isDebug) { String _text = text.length() > 200 ? text.substring(0, 200) + "..." : text; LOGGER.info("正在保存文件{0}, 保存内容:\n{1}", file.toString(), _text); } else LOGGER.info("正在保存文件{0}, 保存内容:\n{1}", file.toString()); save(file, text.getBytes(StandardCharsets.UTF_8), true); }
保存文本内容
/** * 保存文本内容 * * @param filePath 文件路径 * @param text 文本内容 */ public static void saveText(String filePath, String text) { saveText(new File(filePath), text); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。