杰神之Java中File的用法

原创 2018年01月29日 21:58:40
1.作用:a.操作文件  b.操作文件夹 c.操作文件的路径

2.构造方法
a.File(String pathname);通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
b.File(String parent,String child);  根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
c.File(File parent,String chile);    根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
3.方法
a.创建功能
public boolean createNewFile();    当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
public boolean mkdir(); 创建此抽象路径名指定的目录。
public boolean mkdirs(); 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
b.删除功能
public boolean delete();  删除此抽象路径名表示的文件或目录。
c.判断功能
public boolean isDirectory()//判断是否是文件夹
public boolean isFile();//判断是否是文件
public boolean exists();//判断文件/文件夹是否存在
d.获取功能
public String getPath()//将此抽象路径名转换为一个路径名字符串。
public String getName();// 返回由此抽象路径名表示的文件或目录的名称。
public long length();// 返回由此抽象路径名表示的文件的长度。
public String getAbsolutePath();//  返回此抽象路径名的绝对路径名字符串。
public File getAbsoluteFile();//    返回此抽象路径名的绝对路径名形式。
public File getParentFile();//  返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
public String getParent(); 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 nullpublic String [] list();//  返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
public File [] listFiles();// 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
4.字段摘要(静态成员变量)
a.static String pathSeparator//  与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
b.static String separator;//  与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
例题:

 public class Demo01{
     public static void main(String [] args) throws IOException{

     }
     //静态成员变量
     public static void fun1(){
         String pathseparator = File.pathSeparator;
         System.out.println(pathseparator);
         System.out.println(pathseparator);
/构造方法
//相对路径:有参照物
//绝对路径:硬盘上的路径,这个路径唯一
public static void fun3(){
//这里Mac系统下Desktop(桌面)/Test(这是名为Test的文件夹)
    File file = new File ("/Users/lanou/Desktop/Test");
    System.out.println(file);
    结果:/Users/lanou/Desktop/Test
 //判断该路径是否存在
 boolean b1 = file.exists();
 System.out.println(b1);
 结果:true
  //使用相对路径,参照物是当前工程根目录
  File file1 = new File("src/wl.txt");
  boolean b2 = file.exists();
  System.out.println(b2);
  结果:true

   //获取绝对路径
  String absolutePath = file1.getAbsolutePath();
  System.out.println(absolutePath);
  结果:/Users/lanou/eclipse-workspace/sh-day023/src/wl.txt

  //使用构造方法二
  String parent = "/Users/lanou/Desktop";
  String child = "/Test";
  //父路径 和 子路径
  File file2 = new File(parent,child);
  boolean b3 = file2.exists();
  System.out.println(b3);
  结果:true

  //构造方法3
  File f = new File(parent);
  File file3 = new File (f,child);
  System.out.println(file3.exists());
  结果:true
}
//创建文件--方法
public static void fun4(){

    File file = new File("/Users/lanou/Desktop/Test/haha.txt");
    boolean b1 = file.createNewFile();
    System.out.println(b1);
    结果:文件没有创建过--true,反之--false
    File b2 = new File("src/dp.txt");
    boolean b = b2.createNewFile();
    System.out.println(b);
    结果:结果:文件没有创建过--true,反之--false
    注:无论带不带后缀,都是文件
}
 //删除,所删除的东西,不经过垃圾回收站,删除的东西要小心
 public  static void fun5(){
     File file = new File ("/Users/lanou/Desktop/Test/x");
     boolean b1 = file.delete();
     System.out.println(b1);
    结果:有此文件删除--true,反之--false
 }
//判断文件是否存在
 public static void fun6(){
     File file = new File ("/Users/lanou/Desktop/Test/haha.txt");
     boolean b1 = file.isDirectory();
     System.out.println(b1);
   结果:有此文件夹--true,反之--false
   boolean b2 = file.isFile();
   System.out.println(b2);
   结果:有此文件--true,反之--false

 }
//获取路径,我们所获取的路径,不管是否存在,都会打印所实例的对象路径
 public static void fun7(){
     File file = new File("/Users/lanou/Desktop/Test/www.txt");
     Sytring path = file.getPath();
     System.out.println(path);
     结果:/Users/lanou/Desktop/Test/www.txt
    //获取文件名字
    String name = file.getName();
    System.out.println(name);
    结果:www.txt
    //获取文件所占用的字节
    long length = file.length();
    System.out.println(length);
    结果:这里面,我在www.txt里面输入了一个"wang" 打印是 4个字节
    注:英文--1个字节
        中文--3个字节(这里UTF-8)
        不同编码格式字节数不一样的
//获取父级路径
   File parentFile = file.getParentFile();
   System.out.println(parentFile);
   结果:/Users/lanou/Desktop/Test
 }
  //list与 listFiles方法
  public void fun8(){
      File file = new File ("/Users/lanou/Desktop/Test");
      String [] list = file.list();
      for(String string : file.list){
          System.out..println(string);
        结果:
.DS_Store
g
haha
haha.txt
hahah.txt
www.txt
x
注:这个是我所创建的Test文件夹下所有文件和文件夹的名字,且仅仅能查看一层,.DE-Store是隐藏文件,

  File [] listFiles = file.listFiles();
  for(File file2 :listFiles){
      System.out.println(file2);
      结果
/Users/lanou/Desktop/Test/.DS_Store
/Users/lanou/Desktop/Test/g
/Users/lanou/Desktop/Test/haha
/Users/lanou/Desktop/Test/haha.txt
/Users/lanou/Desktop/Test/hahah.txt
/Users/lanou/Desktop/Test/www.txt
/Users/lanou/Desktop/Test/x
注:listFiles返回的是文件与文件夹的全路径名,是以对象形式
        } 

      }
  //遍历Test下所有的文件夹下所有文件和文件夹
 public static void fun9(){
     File file = new File("/Users/lanou/Desktop/Test");
    File [] listFiles = file.listFiles();
    for(File f : listFiles){
        if(f.isDirectory()){
            getFileName(f);
        }else{
            System.out.println(f);
结果:
/Users/lanou/Desktop/Test/.DS_Store
/Users/lanou/Desktop/Test/haha.txt
/Users/lanou/Desktop/Test/hahah.txt
/Users/lanou/Desktop/Test/www.txt
/Users/lanou/Desktop/Test/x/.DS_Store

/Users/lanou/Desktop/Test/x/y/z/www.txt
        }
    }
  }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lyj243719866/article/details/79200404

杰神之Java字符流和转换流的使用

字符流 在程序中一个字符根据不同编码等于不同个字节,那么java提供了Reader、Writer两个专门操作字符流的类。 ·字符输出流:Writer ·字符输入流:Reader 字符输出流...
  • lyj243719866
  • lyj243719866
  • 2018-01-31 22:01:07
  • 22

杰神之Java第一课

Java初识
  • lyj243719866
  • lyj243719866
  • 2017-12-27 19:50:43
  • 174

杰神之Java缓冲流和序列化的用法

缓冲流 1:定义:在内存与硬盘之间创建一个大小合适的缓冲区,当内存和硬盘进行数据访问时,能提高访问硬盘的次数,提高效率。 2:分类:缓冲分为字节缓冲流(BufferedInputStream和Bu...
  • lyj243719866
  • lyj243719866
  • 2018-02-01 21:33:09
  • 21

杰卡德相似度计算(java)

  • 2015年04月02日 19:20
  • 5KB
  • 下载

Java isfile()与exists()的区别

isFile() public boolean isFile()测试此抽象路径名表示的文件是否是一个标准文.如果该文件不是一个目录,并且满足其他与系统有关的标准,那么该文件是标准文件.由Java应用...
  • maxracer
  • maxracer
  • 2011-11-10 10:25:48
  • 21848

java I/O流——File类的基本用法

File类的基本用法: 创建文件夹   创建文件   列出一个文件夹下面的所有文件及文件夹 //功能:File类的基本用法 package com.io.demo; import java.io.*...
  • tingzhiyi
  • tingzhiyi
  • 2016-07-25 15:21:06
  • 507

Java File.separator 用法

http://blog.csdn.net/chindroid/article/details/7735832 比如说要在temp目录下建立一个test.txt文件,在Window...
  • sunnygirl090403
  • sunnygirl090403
  • 2016-01-21 10:29:10
  • 329

【醒目】【业界良心】【Public】我的BZOJ AC代码

AC代码已公开 百度云链接
  • CreationAugust
  • CreationAugust
  • 2016-05-12 11:09:56
  • 2261

长沙蓝杰实训java课件之 Reflection技术解析(www.NetJava.cn)

  • 2007年09月10日 18:04
  • 64KB
  • 下载

杰神之Java泛型的应用

泛型 /* * 保存字符串 * ArrayList E就代表 要保存的元素类型 * 后面的尖括号 要跟前面填的泛型保持一致 * 如果前面声明了泛...
  • lyj243719866
  • lyj243719866
  • 2018-01-22 21:41:38
  • 34
收藏助手
不良信息举报
您举报文章:杰神之Java中File的用法
举报原因:
原因补充:

(最多只允许输入30个字)