/**
 * 测试文件的保存: 如qq聊天记录的保存
 * 如qq文件的保存路径的: qq所在程序文件夹下 mgs/qq号.txt文件
 */
@Test
public void testSave_File(){
File file=new File("msg/55021982432.txt");
/* if(file.isFile()){
System.out.println("已在硬盘中报存");
}else{
System.out.println("仅在内存中报存");
}
System.out.println(file);
System.out.println("file length:"+file.length()+"(byte)");*/

 
try {
if(file.createNewFile()){
System.out.println("create new file: "+file);
}else{
System.out.println("exsits file :"+file);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 
 
if(file.exists()){
System.out.println("it existes");
if(file.isDirectory()){
System.out.println("it is directory");
}else{
System.out.println("it is file");
}
}
 
}
 
 
 
@Test
public void testCreate_File() throws IOException
{
File file=new File("program file/qq/news/msg/txts/123123.txt");
if(file.exists()){
if(!file.delete()){
     System.out.println("file is exists,can't delete it");
     return;
}
}else{
File parent=file.getParentFile();
if(!parent.exists()){
                   if(!parent.mkdirs()){
                  System.out.println("can't create parentfile");
                  return;
                   }
}
 
}
file.createNewFile();
 
}
 
@Test
public void testFor_file(){
File file=new File(".");
getChildren(file);
/* File[] files=file.listFiles();
if(files!=null){
for(File f:files){
System.out.println(f.isDirectory()?"directory":"file"+":"+f);
   if(f.isDirectory()){
    getChildren(f);
   }
}
}*/
}
/**
 * iterator
 * @param f
 */
public void getChildren(File f){
File[] fs=f.listFiles();
if(fs!=null){
    for(File f1:fs){
    System.out.println(f1.isDirectory()?"directory":"file"+":"+f1);
    if(f1.isDirectory()){
    getChildren(f1);
    }
    }
}
}
 
@Test
public void testDelete_file()
{
File file=new File("program file");
deleteChildren(file);
}
 
public boolean deleteChildren(File f){
Boolean result=true;
File[] files=f.listFiles();
if(files!=null){
for(File file:files){
if(file.isFile()){
  if(!file.delete()){
 System.out.println("delete fail:"+file);
 return false;
  }
}else{
if(!deleteChildren(file)){
System.out.println("delete fail:"+file);
return false;
}
}
}
}
result=f.delete();
return result;
}
 
 
@Test
public void testSearch_file(){
File dir=new File(".");//src/dxm/com/test
FileFilter fileFilter=new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getPath().endsWith(".java");
}
};
search_file(dir,fileFilter);
}
 
public void search_file(File dir,FileFilter fileFilter){
   File[] files=dir.listFiles(fileFilter);
if(files!=null){
for(File f:files){
if(f.isFile()){
       System.out.println(" file------- "+f);
}
}
}
File[] dirs=dir.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});
if(dirs!=null){
for(File d:dirs){
search_file(d,fileFilter);
}
}
}

本文转载:CSDN博客