Java目录和文件操作整理_KevinFFK_新浪博客

创建时间:2016/6/22 12:00
来源:http://blog.sina.com.cn/s/blog_507e84890100ch8q.html


Java目录和文件操作整理

(2009-04-14 14:45:12)
标签:

杂谈

分类: java
  1. public class TestFile {   
  2.     public static void main(String[] args) throws IOException {   
  3.         // 1.获取当前目录   
  4.         // 当前目录的URI   
  5.         System.out.println(Thread.currentThread().getContextClassLoader().   
  6.                 getResource(""));   
  7.         System.out.println(ClassLoader.getSystemResource(""));   
  8.         // 当前目录绝对路径   
  9.         System.out.println(new File("").getAbsolutePath());   
  10.         System.out.println(new File("").getCanonicalPath());   
  11.         System.out.println(System.getProperty("user.dir"));   
  12.            
  13.         // 2.文件的创建/删除   
  14.         String pwd=System.getProperty("user.dir");   
  15.         File new File(pwd, "1.txt");   
  16.         if (f.exists()) {   
  17.             f.delete();   
  18.             System.out.println(pwd "\\1.txt 存在,已删除。");   
  19.         else {   
  20.             f.createNewFile();   
  21.             System.out.println(pwd "\\1.txt 不存在,已建立。");   
  22.         }   
  23.                    
  24.         // 3.目录的创建/删除   
  25.         pwd pwd "\\Sub"// 将要建立的目录路径   
  26.         File new File(pwd); // 建立代表Sub目录的File对象,并得到它的一个引用   
  27.         if (d.exists()) // 检查Sub目录是否存在   
  28.             d.delete();   
  29.             System.out.println("Sub目录存在,已删除");   
  30.         else {   
  31.             d.mkdir(); // 建立Sub目录   
  32.             System.out.println("Sub目录不存在,已建立");   
  33.                  
  34.            
  35.         // 4.获取目录下的所有子目录和文件   
  36.         File d1=new File(System.getProperty("user.dir")); // 建立当前目录中文件的File对象    
  37.         File list[]=d1.listFiles(); // 取得代表目录中所有文件的File对象数组    
  38.         System.out.println(pwd+目录下的内容:");   
  39.         for(int i=0;i<list.length;i++)   
  40.             if(list[i].isDirectory()){   
  41.                 String tmp=String.format("%s       <DIR>   %s",   
  42.                         new SimpleDateFormat("yyyy-MM-dd HH:mm").format(   
  43.                         new Date(list[i].lastModified())).toString(),list[i].getName());   
  44.                 System.out.println(tmp);   
  45.             }   
  46.             else if(list[i].isFile()){   
  47.                 String tmp=String.format("%s %5s bytes   %s",   
  48.                         new SimpleDateFormat("yyyy-MM-dd HH:mm").format(   
  49.                         new Date(list[i].lastModified())).toString(),list[i].length(),   
  50.                         list[i].getName());   
  51.                 System.out.println(tmp);   
  52.                    
  53.             }   
  54.   
  55.         // 5.写文件   
  56.         pwd=System.getProperty("user.dir");   
  57.         FileWriter fw new FileWriter(pwd "\\2.txt");   
  58.         fw.write("aaaa");   
  59.         fw.write("bbbb"+System.getProperty("line.separator"));   
  60.         fw.write("cccc");          
  61.         fw.close();   
  62.            
  63.         fw new FileWriter(pwd "\\2.txt"true); // append=true   
  64.         BufferedWriter bw=new BufferedWriter(fw);    
  65.         bw.write("dddd");   
  66.         bw.newLine();   
  67.         bw.write("eeee");   
  68.         bw.close();        
  69.            
  70.            
  71.         // 6.读文件   
  72.         FileReader fr new FileReader(pwd "\\2.txt");   
  73.         BufferedReader br new BufferedReader(fr);   
  74.         String Line br.readLine();   
  75.         while (Line != null{   
  76.             System.out.println(Line);   
  77.             Line br.readLine();   
  78.         }   
  79.         br.close();   
  80.         fr.close();   
  81.            
  82.         readFromConsole();   
  83.            
  84.     }   
  85.        
  86.     // 从控制台读入   
  87.     public static void readFromConsole() {   
  88.         try {   
  89.             BufferedReader in new BufferedReader(new InputStreamReader(System.in));   
  90.             System.out.print("input sth:");   
  91.             String temp in.readLine();   
  92.             System.out.print("your input is: \""+temp+"\"");   
  93.         catch (IOException ioe) {   
  94.             ioe.printStackTrace();   
  95.         }   
  96.     }   
  97.        
  98.     // 简单的文件复制   
  99.     public void copyFile(String src,String dest) throws IOException{   
  100.         FileInputStream in=new FileInputStream(src);   
  101.         File file=new File(dest);   
  102.         if(!file.exists())   
  103.             file.createNewFile();   
  104.         FileOutputStream out=new FileOutputStream(file);   
  105.         int c;   
  106.         byte buffer[]=new byte[1024];   
  107.         while((c=in.read(buffer))!=-1){   
  108.             for(int i=0;i<c;i++)   
  109.                 out.write(buffer[i]);           
  110.         }   
  111.         in.close();   
  112.         out.close();   
  113.     }   
  114.   
  115.     // 删除非空文件夹   
  116.     public static boolean delDir(String path) throws IOException{   
  117.         if(path == null || path == "")   
  118.             return false;   
  119.            
  120.         File rootDir=new File(path);   
  121.         File[] fileLst=rootDir.listFiles();   
  122.         for(int i=0i<fileLst.length; i++) {   
  123.             if(fileLst[i].isDirectory()){   
  124.                 if(!delDir(fileLst[i].toString()))   
  125.                     return false;   
  126.                 System.out.println("dir: "+fileLst[i]+is deleted.");   
  127.                          
  128.             else if(fileLst[i].isFile()){   
  129.                 if(!fileLst[i].delete())   
  130.                     return false;   
  131.                 System.out.println("file: "+fileLst[i]+is deleted.");   
  132.             }   
  133.         }   
  134.         if(!rootDir.delete())   
  135.             return false;   
  136.         return true;   
  137.          
  138.  

2

喜欢

0

赠金笔

阅读(2516) 评论 (0) 收藏(0) 转载(1) 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论
  • 灌水
  • 赞
  • 美好
  • 顶
  • 顶
  • 顶
  • 开心
  • 路过

登录名: 密码: 找回密码 注册 记住登录状态

分享到微博    评论并转载此博文

按住左边滑块,拖动完成上方拼图
点击上图按钮并沿道路拖动到终点处
移动到此开始验证

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。