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\test.txt
G:\JavaTest\test.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);
              }
          }
     }
}

  

转载于:https://www.cnblogs.com/qlwang/p/5605109.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值