cn.hutool.core.io.FileUtil类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(1554)

本文整理了Java中cn.hutool.core.io.FileUtil类的一些代码示例,展示了FileUtil类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FileUtil类的具体详情如下:
包路径:cn.hutool.core.io.FileUtil
类名称:FileUtil

FileUtil介绍

[英]文件工具类
[中]文件工具类

代码示例

代码示例来源:origin: looly/hutool

/**
 * 获得一个输出流对象
 * 
 * @param path 输出到的文件路径,绝对路径
 * @return 输出流对象
 * @throws IORuntimeException IO异常
 */
public static BufferedOutputStream getOutputStream(String path) throws IORuntimeException {
  return getOutputStream(touch(path));
}

代码示例来源:origin: looly/hutool

/**
 * 创建文件及其父目录,如果这个文件存在,直接返回这个文件<br>
 * 此方法不对File对象类型做判断,如果File不存在,无法判断其类型
 * 
 * @param parent 父文件对象
 * @param path 文件路径
 * @return File
 * @throws IORuntimeException IO异常
 */
public static File touch(String parent, String path) throws IORuntimeException {
  return touch(file(parent, path));
}

代码示例来源:origin: looly/hutool

/**
 * 获取绝对路径,相对于ClassPath的目录<br>
 * 如果给定就是绝对路径,则返回原路径,原路径把所有\替换为/<br>
 * 兼容Spring风格的路径表示,例如:classpath:config/example.setting也会被识别后转换
 * 
 * @param path 相对路径
 * @return 绝对路径
 */
public static String getAbsolutePath(String path) {
  return getAbsolutePath(path, null);
}

代码示例来源:origin: looly/hutool

/**
 * 删除文件或者文件夹<br>
 * 路径如果为相对路径,会转换为ClassPath路径! 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹<br>
 * 某个文件删除失败会终止删除操作
 * 
 * @param fullFileOrDirPath 文件或者目录的路径
 * @return 成功与否
 * @throws IORuntimeException IO异常
 */
public static boolean del(String fullFileOrDirPath) throws IORuntimeException {
  return del(file(fullFileOrDirPath));
}

代码示例来源:origin: looly/hutool

/**
 * 读取文件所有数据<br>
 * 文件的长度不能超过Integer.MAX_VALUE
 * 
 * @param filePath 文件路径
 * @return 字节码
 * @throws IORuntimeException IO异常
 * @since 3.2.0
 */
public static byte[] readBytes(String filePath) throws IORuntimeException {
  return readBytes(file(filePath));
}

代码示例来源:origin: looly/hutool

/**
 * 获得 {@link ZipOutputStream}
 * 
 * @param zipFile 压缩文件
 * @param charset 编码
 * @return {@link ZipOutputStream}
 */
private static ZipOutputStream getZipOutputStream(File zipFile, Charset charset) {
  return getZipOutputStream(FileUtil.getOutputStream(zipFile), charset);
}

代码示例来源:origin: looly/hutool

/**
 * 获得一个文件读取器
 * 
 * @param file 文件
 * @param charsetName 字符集
 * @return BufferedReader对象
 * @throws IORuntimeException IO异常
 */
public static BufferedReader getReader(File file, String charsetName) throws IORuntimeException {
  return IoUtil.getReader(getInputStream(file), charsetName);
}

代码示例来源:origin: looly/hutool

/**
 * base64编码
 * 
 * @param file 被编码base64的文件
 * @return 被加密后的字符串
 * @since 4.0.9
 */
public static String encode(File file) {
  return Base64Encoder.encode(FileUtil.readBytes(file));
}

代码示例来源:origin: looly/hutool

/**
 * 获得输入流
 * 
 * @param path 文件路径
 * @return 输入流
 * @throws IORuntimeException 文件未找到
 */
public static BufferedInputStream getInputStream(String path) throws IORuntimeException {
  return getInputStream(file(path));
}

代码示例来源:origin: looly/hutool

/**
 * 列出目录文件<br>
 * 给定的绝对路径不能是压缩包中的路径
 * 
 * @param path 目录绝对路径或者相对路径
 * @return 文件列表(包含目录)
 */
public static File[] ls(String path) {
  if (path == null) {
    return null;
  }
  path = getAbsolutePath(path);
  File file = file(path);
  if (file.isDirectory()) {
    return file.listFiles();
  }
  throw new IORuntimeException(StrUtil.format("Path [{}] is not directory!", path));
}

代码示例来源:origin: looly/hutool

/**
 * 获取文件扩展名,扩展名不带“.”
 * 
 * @param file 文件
 * @return 扩展名
 */
public static String extName(File file) {
  if (null == file) {
    return null;
  }
  if (file.isDirectory()) {
    return null;
  }
  return extName(file.getName());
}

代码示例来源:origin: looly/hutool

tempFile = FileUtil.createTempFile(TMP_FILE_PREFIX, TMP_FILE_SUFFIX, FileUtil.touch(setting.tmpUploadPath), false);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(tempFile));
if (data != null) {

代码示例来源:origin: looly/hutool

/**
 * 读取文件内容
 * 
 * @param path 文件路径
 * @param charsetName 字符集
 * @return 内容
 * @throws IORuntimeException IO异常
 */
public static String readString(String path, String charsetName) throws IORuntimeException {
  return readString(file(path), charsetName);
}

代码示例来源:origin: looly/hutool

copy(src, dest, isOverride);
} catch (Exception e) {
  throw new IORuntimeException(StrUtil.format("Move [{}] to [{}] failed!", src, dest), e);
del(src);

代码示例来源:origin: looly/hutool

/**
 * 获得一个带缓存的写入对象
 * 
 * @param path 输出路径,绝对路径
 * @param charset 字符集
 * @param isAppend 是否追加
 * @return BufferedReader对象
 * @throws IORuntimeException IO异常
 */
public static BufferedWriter getWriter(String path, Charset charset, boolean isAppend) throws IORuntimeException {
  return getWriter(touch(path), charset, isAppend);
}

代码示例来源:origin: looly/hutool

/**
 * 写数据到文件中
 * 
 * @param data 数据
 * @param path 目标文件
 * @return 目标文件
 * @throws IORuntimeException IO异常
 */
public static File writeBytes(byte[] data, String path) throws IORuntimeException {
  return writeBytes(data, touch(path));
}

代码示例来源:origin: looly/hutool

/**
 * 将String写入文件,追加模式
 * 
 * @param content 写入的内容
 * @param path 文件路径
 * @param charset 字符集
 * @return 写入的文件
 * @throws IORuntimeException IO异常
 */
public static File appendString(String content, String path, String charset) throws IORuntimeException {
  return appendString(content, touch(path), charset);
}

代码示例来源:origin: looly/hutool

/**
 * 图像类型转换:GIF=》JPG、GIF=》PNG、PNG=》JPG、PNG=》GIF(X)、BMP=》PNG
 * 
 * @param srcImageFile 源图像文件
 * @param destImageFile 目标图像文件
 */
public static void convert(File srcImageFile, File destImageFile) {
  Assert.notNull(srcImageFile);
  Assert.notNull(destImageFile);
  Assert.isFalse(srcImageFile.equals(destImageFile), "Src file is equals to dest file!");
  final String srcExtName = FileUtil.extName(srcImageFile);
  final String destExtName = FileUtil.extName(destImageFile);
  if (StrUtil.equalsIgnoreCase(srcExtName, destExtName)) {
    // 扩展名相同直接复制文件
    FileUtil.copy(srcImageFile, destImageFile, true);
  }
  ImageOutputStream imageOutputStream = null;
  try {
    imageOutputStream = getImageOutputStream(destImageFile);
    convert(read(srcImageFile), destExtName, imageOutputStream, StrUtil.equalsIgnoreCase(IMAGE_TYPE_PNG, srcExtName));
  } finally {
    IoUtil.close(imageOutputStream);
  }
}

代码示例来源:origin: looly/hutool

/**
 * 将String写入文件,覆盖模式
 * 
 * @param content 写入的内容
 * @param path 文件路径
 * @param charset 字符集
 * @return 写入的文件
 * @throws IORuntimeException IO异常
 */
public static File writeString(String content, String path, Charset charset) throws IORuntimeException {
  return writeString(content, touch(path), charset);
}

代码示例来源:origin: looly/hutool

/**
 * 清空文件夹<br>
 * 注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹<br>
 * 某个文件删除失败会终止删除操作
 * 
 * @param directory 文件夹
 * @return 成功与否
 * @throws IORuntimeException IO异常
 * @since 3.0.6
 */
public static boolean clean(File directory) throws IORuntimeException {
  if (directory == null || directory.exists() == false || false == directory.isDirectory()) {
    return true;
  }
  final File[] files = directory.listFiles();
  boolean isOk;
  for (File childFile : files) {
    isOk = del(childFile);
    if (isOk == false) {
      // 删除一个出错则本次删除任务失败
      return false;
    }
  }
  return true;
}

相关文章