I/O学习应用举例

package ios;

import java.io.File;
import java.io.IOException;

public class IODemo01 {

 /**
  * @param args
  * 在D盘上创建一个quanleilei.txt的记事本文件
  */
 public static void main(String[] args) {
  File f = new File("d://quanleilei.doc");// 注意这里的路径必须是双反斜杠
  try {
   f.createNewFile();//通过它创建的时候会进行判断,如果文件已经存在则不会在重新创建
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

 

创建文件

import java.io.File;

public class Test {

 public static void main(String[] args) {
  File f = new File("C://Program Files//Genuitec", "output");
  if (!f.isDirectory()) {
   f.mkdir();
  } else {
   System.out.println("output文件夹已经存在!");
  }
 }
}
复制文件

import java.io.*;

public class Demo {

 public static void main(String[] args) {
  
  File f = new File("D:/");
  copyJavaFile(f);
 }
 
 public static void copyJavaFile(File f){
  if(f.isFile()){
   String s = f.getPath();
  }else{
   String [] str = f.list();
   for(int i= 0;i<str.length;i++){
    File ff = new File(f.getPath()+"/"+str[i]);
    copyJavaFile(ff);
   }
  }
 }
}


package ios;

import java.io.File;
import java.io.IOException;

public class IODemo02 {

 /**
  * @param args
  * 判斷文件是否存在用f.exists(),如果文件存在则不创建它,如果不存在则创建它
  */
 public static void main(String[] args) {
  File f = new File("D://quanleilei.txt");
  if (f.exists()) {
   System.out.println("文件已经存在");
  } else {
   try {
    f.createNewFile();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   System.out.println("文件被创建");
  }
 }

}
package ios;

import java.io.File;
import java.io.IOException;

public class IODemo03 {

 /**
  * @param args
  *            判断文件存在则删除它,不存在则创建它
  */
 public static void main(String[] args) {
  File f = new File("D://quanleilei.txt");
  if (f.exists()) {
   f.delete();
   System.out.println("文件存在且已经被删除");
  } else {
   try {
    f.createNewFile();
   } catch (IOException e) {

    e.printStackTrace();
   }
   System.out.println("文件不存在且已经被创建");
  }
 }
}
package ios;

import java.io.File;

public class IODemo04 {

 /**
  * @param args
  * 用list列出所有的文件
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  File f = new File("C://Program Files//Messenger");// 但是如果当中有一个文件不是目录的话会报空指向异常
  // 列出此目录下的所有文件
 
   String str[] = f.list();
   for (int i = 0; i < str.length; i++) {
    System.out.println(str[i]);
   }
   System.out.println("总共有" + str.length + "个文件");  
 }
}
package ios;

import java.io.File;

public class IODemo05 {

 /**
  * @param args
  *            判断是否是目录,然后用list列出所有的文件
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  File f = new File("C://Program Files//Messenger//online.wav");// 但是如果当中有一个文件不是目录的话会报空指向异常
  // 列出此目录下的所有文件
  if (f.isDirectory()) {
   String str[] = f.list();
   for (int i = 0; i < str.length; i++) {
    System.out.println(str[i]);
   }
   System.out.println("总共有" + str.length + "个文件");
  } else {
   System.out.println("当中有一个文件不是目录");
  }
 }
}
package ios;

import java.io.File;

public class IODemo06 {
 
 /*
  * 通过递归列出整个文件中所有的文件名称以及路径
  */
 public void recurseInDirFrom(String dirItem) {
  File file = new File(dirItem);
  String list[];
  if (file.isDirectory()) {
   list = file.list();
   for (int i = 0; i < list.length; i++) {
    recurseInDirFrom(dirItem + File.separatorChar + list[i]);//表示分割字符,在windows中表示/
    file.delete();
   }
   System.out.println(dirItem);
  }
 }

 /**
  * @param args
  * 调用递归
  */
 public static void main(String[] args) {
  IODemo06 iod = new IODemo06();
  String temp = "D://Program Files//Tencent//QQ//Users";
  iod.recurseInDirFrom(temp);
 }
}
package ios;

import java.io.File;

public class IODemo07 {
 
 //递归操作时自己调用自己,会很耗性能
 public static void loop(String dir) {
  File f = new File(dir);
  String str[] = null;
  if (f.isDirectory()) {
   str = f.list();
   for (int i = 0; i < str.length; i++) {
    loop(dir + f.separatorChar + str[i]);
   }
  } else {
   System.out.println(dir);
  }
 }

 public static void main(String[] args) {
  loop("D://Program Files//Tencent//QQ//Users");
 }
}
package ios;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class IODemo08 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  try {
   RandomAccessFile raf = new RandomAccessFile("D://quanleilei.txt", "rw");
   String name = "zhangsan";
   int age = 20;
   raf.writeChars(name);
   raf.writeChar(age);
   raf.close();
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } 
 }

}

遍历一个文件夹中所有的文件

import java.io.File;


public class 遍历一个文件夹所有文件 {
 //找出一个文件夹中所有的以 rmvb结束的文件
 public static void main(String arg[])
 {
      File file=new File("c:/");
         find(file);
    }
 
    public static void find(File file)
 {
  
  if(file.isFile())
  {
   String a=file.getPath();
   if(panduan(a))
    System.out.println(a);
  }
  else
  {
  
      String [] str=file.list();
   for(int i=0;i<str.length;i++)
   {
    File fi= new File(file.getPath()+"/"+str[i]);
    find(fi);
   }
  }
  
 }

 public static boolean  panduan(String str)
    {
     if(str.length()<=6)
      return false;
     if("rmvb".equals(str.substring(str.length()-4,str.length())))
         return true;
     return false;
    }   
}

查找子文件

import java.io.File;
public class 显示文件子文件 {
 public static void main(String arg[])
    {
  String s="c:/";
     File f=new File(s);
     if(f.isDirectory())
     {
         String str[]=f.list();
         for(int i=0;i<str.length;i++)
         {
          File fil=new File(s+"/"+str[i]);
          if(fil.isFile())
              System.out.println(str[i]+"是文件");
          else
           System.out.println(str[i]+"是目录");
         }
     }
     else
     {
      System.out.println("不是路径");
     }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值