今天复习了File类中的获取目录中包含子目录在内的所有文件名称
public static void getFile(File file)
{
File[] files = file.listFiles();
//获得文件数组
for(File file1:files){//遍历文件数组
if(file1.isDirectory())//首先判断是否是文件夹,假如是,进入递归调用
{
getFile(file1);
}else{
System.out.println(file1);//否则输出,这里自动调用File.toString(),方法 已被重写
}
}
System.out.println(file);
}
public static void delete(File file)
{
File[] files = file.listFiles();
for(File file1:files){
if(file1.isDirectory())
{
delete(file1);
}else{
System.out.println(file1.getName()+"已被删除");
file1.delete();
}
}
if(file.exists()){//删除调用目录
file.delete();
System.out.println(file.getName()+"文件夹已被删除");
}
}
结合IO流,进行文件的筛选和输出
public static void getDocFile(File file ,List<File> list)//首先进行文件的筛选
{
File[] files = file.listFiles();
for(File file1:files)
{
if(file1.isDirectory()){
getDocFile(file1, list);
}else{
if(file1.getName().endsWith(".doc")){
list.add(file1);//将符合筛选条件的文件类型假如到文件数组中
}
}
}
}
public static void outDocFile(List<File> list,String path) throws IOException{
BufferedInputStream buin = null ;
BufferedOutputStream buout= null;
int i = 0;
for(File file:list)
{
i++;
try{
buin = new BufferedInputStream(new FileInputStream(file));
buout= new BufferedOutputStream(new FileOutputStream(new File(path+i+".doc")));
byte[] bit = new byte[1024];
int len = 0;
while((len = buin.read(bit))!=-1){
buout.write(bit,0,len);
}
}catch(IOException e){
System.out.println("失败");
}finally{
if(buin != null){
try {
buin.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally{
buin = null;
}
try {
buout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
buout = null;
}
}
}
}
}
通过修改筛选条件的后缀名可以该表要获得的文件类型