java目录文件夹操作

举报
风吹稻花香 发表于 2021/06/05 01:35:52 2021/06/05
【摘要】 /** * 拷贝一个目录或者文件到指定路径下 * @param source * @param target */ public static void copy(File source, File target) { File tarpath = new File(tar...


/**

* 拷贝一个目录或者文件到指定路径下

* @param source

* @param target

*/

public static void copy(File source, File target)

{

File tarpath = new File(target, source.getName());

if (source.isDirectory())

{

tarpath.mkdir();

File[] dir = source.listFiles();

for (int i = 0; i < dir.length; i++) { copy(dir[i], tarpath); } } else

{

try

{

InputStream is = new FileInputStream(source);

OutputStream os = new FileOutputStream(tarpath);

byte[] buf = new byte[1024];

int len = 0;

while ((len = is.read(buf)) != -1)

{

os.write(buf, 0, len);

}

is.close();

os.close();

}

catch (FileNotFoundException e)

{

e.printStackTrace();

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

 

 

/**

* 列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤

*

* @param path

*/

public static void list(File path)

{

if (!path.exists())

{

System.out.println("文件名称不存在!");

}

else

{

if (path.isFile())

{

if (path.getName().toLowerCase().endsWith(".pdf")

|| path.getName().toLowerCase().endsWith(".doc")

|| path.getName().toLowerCase().endsWith(".html")

|| path.getName().toLowerCase().endsWith(".htm"))

{

System.out.println(path);

System.out.println(path.getName());

}

}

else

{

File[] files = path.listFiles();

for (int i = 0; i < files.length; i++)

{

list(files[i]);

}

}

}

}

 

 

 

package baidumapsdk.demo;

import java.io.File;

import java.util.ArrayList;

 

public class FileTest {

 private static ArrayList<String> filelist = new ArrayList<String>();

 

 public static void main(String[] args) throws Exception {

    

    String filePath = "E:/软件安装/开发环境/java/BaiduMap_AndroidSDK_v3.1.1_All/BaiduMap_AndroidSDK_v3.1.1_Sample/BaiduMapsApiDemo/src/baidumapsdk/demo";

    getFiles(filePath);

 }

 /*

  * 通过递归得到某一路径下所有的目录及其文件

  */

 static void getFiles(String filePath){

  File root = new File(filePath);

    File[] files = root.listFiles();

    for(File file:files){     

     if(file.isDirectory()){

      /*

       * 递归调用

       */

      getFiles(file.getAbsolutePath());

      filelist.add(file.getAbsolutePath());

      System.out.println("显示"+filePath+"下所有子目录及其文件"+file.getPath());//file.getAbsolutePath()

     }else{

      System.out.println("显示"+filePath+"下所有子目录"+file.getAbsolutePath());

     }     

    }

 }

}

 

 


文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/54484982

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。