博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java file类
阅读量:7052 次
发布时间:2019-06-28

本文共 3754 字,大约阅读时间需要 12 分钟。

1.

 * 在windows中斜杠的方向是向右斜的\\

 * 在Linux  中斜杠的方向是向左斜的//

 

2.在Java中,Everything is Object!所以在文件中,要不例外!

在Java中,可以用File类来表示一个文件!!!(注意这里的文件可以是所有文件,包括文件夹)
下面的代码表示一个文件:
public class Demo {
    public static void main(String[] args){
        
        File f = new File("e:\\file");
        
        if(f.isDirectory()){
            System.out.println(f.getPath());
        }
    }
}
运行结果是:
代码中isDirectory()方法是判断文件是文件夹还是一个文件(这里可能有点迷糊),也可以这么理解,我所说的文件夹就是一个目录,
getPath()方法是打印文件(这里指的是file文件夹)的路径!!!
看看下面的代码还有注释:
/**
 *
 *          File.speparator的作用是判断在不同的系统中斜杠的方向
 * 
 * 在windows中斜杠的方向是向右斜的\\
 * 在Linux  中斜杠的方向是向左斜的//
 * 
 * 
 *         File中createNewFile方法:
 *          当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
 *          检查文件是否存在,若不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。 
 *    
 *            注:此方法不应该 用于文件锁定,因为所得协议可能无法可靠地工作。应该使用 FileLock 机制替代。 
 *
 * 
 */
import java.io.File;
public class Demo01 {
    public static void main(String[] args) throws Exception{
        
        File f;
        
        f = new File("e:" + File.separator + "file" + File.separator + "io.txt");
        System.out.println(f.createNewFile());
    }
}
===================================
运行结果是:
大家注意,如果你的直接复制这些代码的话,可能会出现以下异常
看看大家都明白了吧! 系统找不到指定的文件,就是在e盘下新建一个file文件夹就可以啦!!!
下面代码详细的介绍了File类中的createNewFile()方法:
/**
*
*         File中createNewFile方法:
*          当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
*          检查文件是否存在,若不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。 
*    
*            注:此方法不应该 用于文件锁定,因为所得协议可能无法可靠地工作。应该使用 FileLock 机制替代。 
*         返回:是布尔型
*/
import java.io.File;
public class Demo02 {
    public static void main(String[] args) throws Exception{
        File f = new File("f:\\demo.txt");
        System.out.println(f.createNewFile());
    }
}
运行结果如下:
下面介绍一下File类中delete()方法,代码如下:
/**
 * 
 *             要操作一个文件,必须要找到这个文件
 *             在Java中,只有File类能表示一个文件,所有用File表示一个文件
 *             File的属性就是文件的路径,虚拟机会根据File类的参数找到指定的文件
 *             找到问及那后可以用File类的方法进行操作!
 * 
 *             delete()方法可以删除一个文件或者一个整个文件夹(整个目录),返回结果是布尔类型!!
 * 
 * */
import java.io.File;
public class Demo11 {
    public static void main(String[] args) {
        
        File f = new File("f:\\demo.txt");
        
        f.delete();
        if(boo){
            System.out.println("成功删除文件");
        }
    }
}
这个程序运行的结果:
下面的代码是介绍查看一个文件的目录,以及判断这个文件是否是文件夹,代码如下:
/**
 * 
 *         File的一个方法File.getPath() 
 *                     是将此抽象路径名转换为一个路径名字符串。
 * 
 *         File的exists方法
 *                     是测试此抽象路径名表示的文件或目录是否存在。
 * 
 * 
 *         File的getParent()方法
 *                     是返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
 * 
 * */
import java.io.File;
public class Demo21 {
    public static void main(String[] args) {
        File f = new File("f:" + File.separator + "demo.txt");
        System.out.println(f.getPath());
        System.out.println(f.getParent());
        if(f.exists()){
            f.delete();
        }
        else{
            try{
                System.out.println(f.createNewFile());
            }catch(Exception e){}
        }
    }
}
运行结果:
再看一个判断目录的方法:
/**
 * 
 *         File的一个方法File.getPath() 
 *                     是将此抽象路径名转换为一个路径名字符串。
 * 
 *         File的isDirectory()的方法
 *                     是测试此抽象路径名表示的文件是否是一个目录。
 *         当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true;否则返回 false。    
 * 
 * 
 * */
 
import java.io.File;
public class Demo51 {
    
    public static void main(String[] args){
        File f = new File("f:" + File.separator + "aa");
        System.out.println(f.getPath());
        System.out.println(f.isDirectory());
    }
}
运行结果:
注意下一个代码,可能对你很有帮助啊!!
/**
 * 
 *             File的list()方法可以:
 *             返回一个字符串数组,
 *             这些字符串指定此抽象路径名表示的目录中的文件和目录。
 * 
 * */
import java.io.File;
public class Demo61 {
    public static void main(String[] args) {
        
        File f = new File("f:\\book");
        
        
        //使用list列出
        //列出的只是一个名称
        String[] str = f.list();
        for(int i=0;i<str.length;i++){
            System.out.println(str[i]);
        }
    }
}
这个程序的运行结果是你目录下的文件:
下面的程序 你可能会很感兴趣!因为你想玩HK,或者你想给别人整个恶作剧,你必须要扫描下他的电脑,以下方法就实现了怎样去扫描一个电脑里的所有文件(我的代码选择的是扫描C盘下的所有文件,如果你想扫描其他盘,只要把文件改一下就OK啦)
import java.io.File;
public class Demo81 {
    public static void main(String[] args) {
        
        String str = "C:\\";
        File f = new File(str);
        fun(f);
    }
    
    //要不断列出,因为给出的File类对象可能是一个目录
    public static void fun(File f){
        //判断给定的路径是否是目录,如果是目录在列出
        if(f.isDirectory()){
            File[] file = f.listFiles();
            //再依次循环进行判断
            try{
                for(int i = 0;i < file.length;i++){
                    //继续把内容传入到fun方法之中进行验证
                    fun(file[i]);
                }
            }catch(Exception e){}
        }
        else{
            System.out.println(f);
        }
    }
}
运行结果我就不贴出来了,因为C盘的文件太多啦!!!如果你想知道,自己把代码带下看看,你会很吃惊的!你会想原来扫描的原理这么简单!!!

转载地址:http://xupol.baihongyu.com/

你可能感兴趣的文章
H3C 5500/5820 端口聚合LACP
查看>>
我的友情链接
查看>>
Forefront TMG 服务器中如何规划和实现高可用性
查看>>
Exchange Server 2010 故障分享
查看>>
java正则匹配count字符串
查看>>
Exchange2007/2010如何恢复被禁用或者删除的邮箱
查看>>
第五天:Before -- CMD
查看>>
Docker软件安装系列。
查看>>
我的友情链接
查看>>
LEFT JOIN连表时,ON后多条件无效问题
查看>>
[20180423]flashback tablespace与snapshot standby.txt
查看>>
php中禁止单个ip与ip段访问的代码小结
查看>>
LeetCode-330.Patching Array
查看>>
zxing生成二维码转base64 img直接显示 Image对象转Base64码(java)
查看>>
xfire冲突问题解决(maven配置)
查看>>
C#面向对象(三)接口实现多态
查看>>
Linux下用Java获取本机IP
查看>>
Eclipse的Spring库导入
查看>>
velocity 判断 变量 是否不是空或empty
查看>>
【leetcode】123. Best Time to Buy and Sell Stock III
查看>>