1 练习 递归删除某个目录下的所有的文件
public static void main(String[] args) {
File file = new File("F:/新建文件夹");
deleteFile(file);
System.out.println("成功删除!");
}
public static boolean deleteFile(File file) {
boolean success = false;
if (file.exists())
{
if (file.isDirectory())
{
File[] files = file.listFiles();
for (File file1 : files)
{
success = deleteFile(file1);
}
}
else
{
success = file.delete();
}
}
else
{
success = false;
}
return success;
}
2 练习 递归取出某个文件夹中所有的文件的名称,然后存在一个集合里, 再把这个集合中的内容写到一个文件里
public static void main(String[] args) {
File file = new File("F:/新建文件夹");
try {
getFile(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean getFile(File file) throws IOException
{
List<String> list=new ArrayList<String>();
boolean b=false;
if(file.exists())//是不是存在
{
if(!file.isDirectory())//是不是 一个目录
{
list.add(file.getName());
//file.delete();
}
else
{
File[] files = file.listFiles();
for (File file1 : files)
{
b = getFile(file1);
}
}
}
else
{
b=false;
}
//System.out.println(list);
Writer w=new FileWriter("F:/1.txt",true); //执行完以后,会创建这个文件 , true 表示以追加的方式往里写
w.write("我的点为什么这么背");
for(int i=0;i<list.size();i++)
{
String a=list.get(i);
System.out.println(a);
w.write(a);
w.write("\n");
w.flush();
}
return true;
}
4 有一个记事本文件,里面是人员名单
在某个磁盘上,有一个文件夹,里面是人员的照片,照片的在命名的时候,含有这个人的姓名信息
写一个程序,将名单中有照片的人的照片选出来,存到一个文件夹里
名单:
张三
李四
王五
photo
夏天_张三_001.jpg
李四_2009.jpg
有照片人员的照片
public static void main(String[] args) throws IOException {
File f=new File("F:/名单");
recuFile(f);
}
static void recuFile(File f){
//System.out.println(f.getName());
File [] fileList=f.listFiles();
for( File file :fileList ){
if(file.isDirectory()){
recuFile(file);
}
else
{
System.out.println(file.getName());
String suffix = file.getName().substring(file.getName().lastIndexOf(".") + 1);
if(suffix.equals("jpg"))
{
if (file.renameTo(new File("F:\\名单2\\"+file.getName()))) //源文件移动至目标文件目录
{
//getFile(a);
System.out.println("File is moved successful!");//输出移动成功
}
}
}
}
}