zoukankan      html  css  js  c++  java
  • JavaIO(01)File类详解

    File类
    file类中的主要方法和变量
     
    常量:
    表示路径的分割符:(windows)
    作用:根据java可移植性的特点,编写路径一定要符合本地操作系统要求的分割符;
    public static final String separator            
    public static final String pathSeparator
    
    package cn.itcast;
    
    import java.io.File;
    
    public class DemoFile02 {
         public static void main(String[] args) {
              
               System.out.println( "PathSeparator分隔符:"+File.pathSeparator );
               System.out.println( "Separator分隔符:"+File.separator );
         }
    }
    
    输出:
    
    PathSeparator:;
    Separator:
    

      

    构造:
    创建file类对象,传入完成路径
    public File(String pathname)
    public File(String parent,String child)
    package cn.itcast;
    import java.io.File;
    public class DemoFile03 {
    public static void main(String[] args) {
         
         File file = new File("G:\JavaTest\test.txt" );
         System.out.println(file);
         File file2 = new File("G:\JavaTest" , "test.txt" );
         System.out.println(file2);
    }
    }
    
    输出:
    G:JavaTest	est.txt
    G:JavaTest	est.txt
    
    考虑到程序会跨平台操作对上面程序进行修改;
    
    String path = "G:" + File. separator +"JavaTest"+File.separator + "test01.txt" ;
    System.out.println(path);
    File file = new File(path);
    

      

    普通方法:
     
    创建新文件;
    public boolean createNewFile() throws IOException
    删除文件:
    public boolean delete()
    判断文件是否存在
    public boolean exists()
    判断给定的路径是否是一个目录
    public boolean isDirectory()
    返回文件的长度
    public long length()
    File中封装的什么路径就返回什么路径
    public String getPath()
    获取文件名称
    public String getName()
    获取文件的全路径(绝对路径)
    public String getAbsolutePath()
    是否是文件
    public boolean isFile()
    列出指定目录的全部内容,只是列出了名称,返回一个字符串数组
    public String[] list()
    package cn.itcast;
    import java.io.File;
    
    public class DemoFile03 {
    public static void main(String [] args) {
         
         //给出路径
         File file = new File("G:"+File.separator +"JavaTest" +File.separator+"Test");
         System.out.println(file.isDirectory());
         //file.mkdir();
         String str[] = file.list();
         for ( int i = 0; i < str.length ; i++) {
              System. out.println(str[i]);
         }
         }
    }
    列出指定目录的全部内容,会列出路径
    public File[] listFiles()
    package cn.itcast;
    
    import java.io.File;
    
    public class DemoFile04 {
         public static void main(String[] args) {
              
              File file = new File("G:"+File.separator +"JavaTest" +File.separator+"Test");
              File[] files = file.listFiles();
               for (int i = 0; i < files.length; i++) {
                  System. out.println(files[i]);
              }
         }
    }
    
    创建一个目录
    public boolean mkdir()
    为已有的文件重新命名
    public boolean renameTo(File dest)
    实例01:
    public class DemoFile01 {
         public static void main(String[] args){
               //如果考虑跨平台需要这样写
              String path = "G:" + File.separator +"JavaTest"+File.separator + "test01.txt" ;
              File file = new File(path);
               //当程序删除文件的之前需要判断文件是否存在
               if(file.exists())
              {
                  System. out.println("我要删文件了" );
                  file.delete();
              } else{
                  System. out.println("原来你没在呀,那我先创建一个吧~" );
                   try {
                       file.createNewFile();
                  } catch (IOException e) {
                        // TODO: handle exception
                       e.printStackTrace();
                  }
              }
              
         }
    }
    
    以上代码也不是最完美的,会出现一些延迟,这是因为所有的操作需要通过JV完成所造成的,所以根据需求,可以考虑文件的后缀是否存在;
    
    
    实例02:使用了文件的递归
    
    package cn.itcast;
    /*
     * 列出指定目录的全部内容
     * 给定一个目录。要求列出此目录下的全部内容,因为给定目录可能存在子文件夹,
     * 此时要求也可以把所有文件夹的子文件夹列出来;
     */
    import java.io.File;
    public class DemoFile05 {
         public static void main(String[] args ) {
              File my = new File("G:" + File.separator + "JavaTest");
               print(my);
         }
    
         public static void print(File file) {
               if (file != null) {
                   if (file.isDirectory()) {
                       File f[] = file.listFiles();
                        if (f != null ) {
                             for (int i = 0; i < f.length; i++) {
                                 System. out.println(f[i]);
                            }
                       }
                  }
              } else {
                  {
                       System. out.println(file);
                  }
              }
         }
    }
    

      

  • 相关阅读:
    unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8
    Unity SteamVR插件集成
    Unity3D Layer要点
    Unity利用Sapi进行windows语音开发
    Scratch入门课程(1)——把工具准备好
    【blockly教程】Blockly编程案例
    【blockly教程】第六章 Blockly的进阶
    【blockly教程】第五章 循环结构
    【blockly教程】第三章Blockly顺序程序设计
    【blockly教程】第四章 Blockly之选择结构
  • 原文地址:https://www.cnblogs.com/qlwang/p/5605109.html
Copyright © 2011-2022 走看看