/**
* 测试文件的保存: 如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);
}
}
}