zoukankan      html  css  js  c++  java
  • java的文件操作类File

    java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类

    例子:

     1 package test.file.IO;
     2 
     3 import java.io.*;
     4 public class TestFile{
     5     public static void main(String[] args){
     6         //1.File类是java用来处理文件的类,它可以获取文件的所有属性 和 完成文件所需要的所有操作
     7         //  所以使用的第一步就是new一个File对象
     8         //  File f = new File("test.txt");//构造方法也有多次重载
     9         //2.判断文件是否存在,exists()方法,这是针对单个文件的,所以要用第三人称单数
    10         //3.如果不存在那么就新建这个文件,createNewFile()
    11         //        如果是要创建文件夹,则使用 mkdir();只能创建一层的文件夹和
    12         //                          mkdirs()无论多少层都能够创建,所以推荐使用这个方法;
    13         //4.判断文件是文件还是文件夹,isFile();isDirectory()
    14         //5.如果是文件,获取文件的基本属性,getName()获取文件名;
    15         //                        getPath()获取路径;
    16         //                        getAbsolutePath()获取绝对路径;
    17         //                        length()获取文件大小等等
    18         //6.获取文件的父目录 getParent()
    19         //             getParentFile()可以获取父路径
    20         //7.如果是文件夹,主要就是获取目录下的文件了
    21         //         list()返回所有子目录的文件名,返回值是String类型(隐藏文件也会返回)
    22         //         listFile()很明显,返回所有子目录下的所有文件,类型是File类型
    23         //
    24         
    25         
    26         File f = new File("D:\123\789\abc.txt");
    27         if(f.exists()){//先判断文件是否存在
    28             System.out.println("已存在");
    29         }else{
    30             if(f.isDirectory()){//判断要生成的是文件还是文件夹
    31                 f.mkdirs();//循环生成文件夹及其子文件夹
    32             } else {
    33                 try {
    34                     if (!f.getParentFile().exists()) {//如果是创建包含文件夹的文件,必须先手动创建文件夹
    35                         f.getParentFile().mkdirs();
    36                     }
    37                     f.createNewFile();
    38                 } catch (Exception e) {
    39                     e.printStackTrace();
    40                 }
    41             }
    42         }
    43         
    44         //当为文件夹时,可以显示其子目录和文件
    45         File f2 = new File("E:\tommy_130923");
    46         String[] fileNames = f2.list();//list会把文件和子目录都罗列出来
    47         for(int i=0;i<fileNames.length;i++)
    48             System.out.println(i+" "+fileNames[i]);
    49         
    50         System.out.println("***********************************");
    51         File[] files = f2.listFiles();//以文件的格式返回所有的文件和子目录
    52         for(int j=0;j<files.length;j++)
    53             System.out.println(j+" "+files[j].getName());
    54         
    55         //循环遍历文件
    56         System.out.println("**************循环遍历文件*********************");
    57         showFiles(f2);
    58     }
    59     
    60     public static void showFiles(File f){
    61         if(f.exists()&&f.isDirectory()){
    62             File[] files = f.listFiles();
    63             for(File file:files){
    64                 if(file.isDirectory())
    65                     showFiles(file);
    66                 else
    67                     System.out.println(file.getAbsolutePath());
    68             }
    69                 
    70         }else if(f.exists()&&f.isFile())
    71             System.out.println(f.getAbsolutePath());
    72     }
    73 }
    View Code
  • 相关阅读:
    解题:HNOI 2008 玩具装箱
    2016级算法第一次上机助教版解题报告
    求解斐波那契数列复杂度分析
    数据库复习之规范化理论应用(第八次上机内容)
    数据库复习之规范化理论
    题目1042:Coincidence(最长公共子序列)
    题目1020:最小长方形(简单)
    题目1016:火星A+B(字符串拆分)
    题目1014:排名(结构体排序)
    题目1021:统计字符(hash简单应用)
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4316253.html
Copyright © 2011-2022 走看看