黑马程序员——Java I/O流基础知识点(File类)
import java.util.*;//习惯不太好啊,即使在同一个文件也是要多分几个class~ import java.io.*; class Hehe{//为了使打印效果有层次感,这部分是用来添加到文件名称前面的符号 public String getLevel(int level){ StringBuffer sb=new StringBuffer(); for(int i=0;i<=level;i++)sb.append("|--"); return sb.toString(); } ArrayList<String> list=new ArrayList<String>(); //获取目录信息,将目录信息收集起来放在List集合上 public void getDirs(File file,int level) throws IOException{ File fil[]=file.listFiles(); level++; for (int i=0;i<fil.length;i++) { if(fil[i].isDirectory()){ System.out.println(getLevel(level)+fil[i]); list.add(getLevel(level)+fil[i].toString()+"\r\n"); getDirs(fil[i],level); } else { String string=fil[i].toString(); if(string.endsWith(".avi")) { System.out.println(getLevel(level)+string); list.add(getLevel(level)+string+"\r\n"); } else continue; } } } //将List集合里面元素的信息打印出来 public void writerqq() throws IOException{ BufferedWriter bufferedwriter= new BufferedWriter(new FileWriter(new File("d:\\NewJava.txt"))); Iterator<String> it=list.iterator(); while(it.hasNext()){ String string=it.next(); bufferedwriter.write(string.replace("D:\\BaiduYunDownload\\张孝详J2SE高深讲解", "")); } bufferedwriter.flush(); } } public class JavaBasic { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Hehe hehe=new Hehe(); hehe.getDirs(new File("D:\\BaiduYunDownload\\张孝详J2SE高深讲解"),0); hehe.writerqq(); } } /*|--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\02_eclipse及IDE开发工具介绍.avi |--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\03_eclipse工程管理与快捷键配置.avi |--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\04_eclipse视图管理与程序调试.avi |--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\05_配置eclispe的编译与运行环境.avi |--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\06_在eclispe中配置java模板代码.avi |--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\07_在eclipse中导入已有的工程.avi |--|--D:\BaiduYunDownload\张孝详J2SE高深讲解\08_java5的静态导入与编译器语法设置.avi*/
import java.io.*; public class CopyWay { public static void copyFolder(File src,File dest) throws IOException{ if(src.isDirectory()){//新建目录部分 if(!dest.exists())dest.mkdir(); String files[]=src.list(); for(String file:files){ File srcFile=new File(src,file); File destFile=new File(dest,file); copyFolder(srcFile,destFile);//利用递归的思想把,访问文件夹内的文件夹 } } else {//文件夹内的部分将执行这部分代码 InputStream in=new FileInputStream(src);//字节流写入 OutputStream out=new FileOutputStream(dest);//字节流写出 byte[] buffer=new byte[1024]; int length; while((length=in.read(buffer))>0) out.write(buffer, 0, length); in.close(); out.close(); } } public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File srcFloder=new File(new File("d:\\"),"TestForCopy"); File destFloder=new File(new File("c:\\"),"CarzyCopy"); copyFolder(srcFloder,destFloder); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。