import org.apache.hadoop.fs.FileUtil; //导入方法依赖的package包/类

@Override

public boolean delete(Path p, boolean recursive) throws IOException {

if (LOG.isDebugEnabled()) {

LOG.debug(String.format("EFS:delete: %s %b", p, recursive));

}

// The super delete uses the FileUtil.fullyDelete,

// but we cannot rely on that because we need to use the elevated

// operations to remove the files

//

File f = pathToFile(p);

if (!f.exists()) {

//no path, return false "nothing to delete"

return false;

}

else if (f.isFile()) {

return Native.Elevated.deleteFile(p);

}

else if (f.isDirectory()) {

// This is a best-effort attempt. There are race conditions in that

// child files can be created/deleted after we snapped the list.

// No need to protect against that case.

File[] files = FileUtil.listFiles(f);

int childCount = files.length;

if (recursive) {

for(File child:files) {

if (delete(new Path(child.getPath()), recursive)) {

--childCount;

}

}

}

if (childCount == 0) {

return Native.Elevated.deleteDirectory(p);

}

else {

throw new IOException("Directory " + f.toString() + " is not empty");

}

}

else {

// This can happen under race conditions if an external agent

// is messing with the file type between IFs

throw new IOException("Path " + f.toString() +

" exists, but is neither a file nor a directory");

}

}

java apache fileutil_Java FileUtil.listFiles方法代码示例相关推荐

  1. cdate在java中_Java Calendar.add方法代码示例

    本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...

  2. python apache benchmark_Python cudnn.benchmark方法代码示例

    本文整理汇总了Python中torch.backends.cudnn.benchmark方法的典型用法代码示例.如果您正苦于以下问题:Python cudnn.benchmark方法的具体用法?Pyt ...

  3. java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例

    import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类 /** * 生成更新Sql * @param entity * @ ...

  4. java中setattribute_Java Files.setAttribute方法代码示例

    import java.nio.file.Files; //导入方法依赖的package包/类 @Override public void setFileHiddenAttribute( String ...

  5. Java substitution to_Java XmlObject.substitute方法代码示例

    import org.apache.xmlbeans.XmlObject; //导入方法依赖的package包/类 /** * Qualifies a valid member of a substi ...

  6. java byte xml_Java XMLInputSource.setByteStream方法代码示例

    import org.apache.xerces.xni.parser.XMLInputSource; //导入方法依赖的package包/类 /** * Resolves an external p ...

  7. java default locale_Java JSON.defaultLocale方法代码示例

    import com.alibaba.fastjson.JSON; //导入方法依赖的package包/类 public void test_time() throws Exception { lon ...

  8. java sql xml_Java ResultSet.getSQLXML方法代码示例

    import java.sql.ResultSet; //导入方法依赖的package包/类 protected Object processColumn(ResultSet rs, int inde ...

  9. java中setcolor_Java XWPFRun.setColor方法代码示例

    import org.apache.poi.xwpf.usermodel.XWPFRun; //导入方法依赖的package包/类 /** * Inserts the given {@link Tem ...

最新文章

  1. Java反射机制demo(四)—获取一个类的父类和实现的接口
  2. python3 python2 字符串与hex互转区别
  3. 深度学习模型之各种caffe版本(Linux和windows)的网址和配置
  4. Integer.parseInt() 与 Integer.valueOf() 区别
  5. 制作简单的java应用程序_使用exe4j工具制作简单的java应用程序
  6. MySQL连不上:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
  7. scala循环 方法与函数
  8. Exchange企业实战技巧(17)让密件抄送给特定用户
  9. Python中线程池的使用及内存泄漏问题
  10. OpenCvSharp4初识
  11. QT 控件动态效果之QPropertyAnimation
  12. HTML5七夕情人节表白网页制作 (浪漫的求婚动画) HTML+CSS+JavaScript
  13. stdafx.h作用以及include中为何iostream必须放在stdafx.h之后?
  14. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
  15. win7硬盘检测工具HD tune使用
  16. 中国移动下月发布5G套餐:“三不一快”策略方便终端入网
  17. NBUT 1451 Elise (暴力+并查集)
  18. mysql数据库有什么应用场景_科普:云数据库MySQL的几种应用场景
  19. 38岁女强人转行做足疗店,只用一年就把两家同行都挤垮了?
  20. 哔哩哔哩bilibili自动上传视频脚本-配合爬虫营销号狂喜

热门文章

  1. 1.1.1.1校园网_还担心断网?快试试清华校园网自动连接程序
  2. html和html5学习
  3. 步骤详解安装Apache web服务器
  4. [恢]hdu 2521
  5. flash与IPhone
  6. 推荐.NET CF控件(Resco MobileForms Toolkit)
  7. 算法分析的目的_掌握这些数学函数,你会在算法效率的分析时经常用到
  8. 【代码审计】使用SonarQube进行代码质量分析管理
  9. wxWidgets第九课 wx绘图工具
  10. java从Object类型转换成double类型