*文件操作类1(基本操作)分隔符的使用

Java IO学习原则:抽象类中定义的抽象方法会根据实例化其子类的不同,也会完成不同的功能。

使用File类来进行文件的操作。

如果要进行所有的文件以及文件内容的开发操作,那么应该使用java.io包完成,而在java,io包里面一共有五个核心类和一个核心接口。

五个核心类:File,InputStream,OutputStream,Reader,Writer

一个核心接口:Serializable

在整个java.io包里面,File类是唯一一个与文件本身操作有关的类,但是不涉及到文件的具体内容。所谓的文件本身指的是文件的创建,删除等操作。
如果要想使用File类,那么首先就需要通过它提供的构造方法定义一个要操作的文件路径:
设置完整路径:public File(String pathname)
设置父路径与子文件路径:public File(File parent,String child)
大部分情况下,使用1设置完整路径,2在Android上使用较多。

范例:操作文件
1.创建文件:public boolean createNewFile()
throws IOException
1.1如果目录不能访问
1.2如果文件重名或者文件名称错误
都会抛出异常

    
    public static void main(String[] args) throws Exception{
        File file=new File("e:\\test.txt");
        System.out.println(file.createNewFile());
    }   

创建文件成功,并且为true


9003228-92bad2843f63d36b.png
image.png
9003228-9e8aa61e3e1bf5ef.png
image.png

删除文件:public boolean delete();
判断文件是否存在:public boolean exists();


    public static void main(String[] args) throws Exception{
        File file=new File("e:\\test.txt");
        if(file.exists()){//如果文件存在,则删除文件
            file.delete();
            return;
        }//否则创建文件
        System.out.println(file.createNewFile());
    }

文件存在的时候,执行程序的确删除了,文件不存在的时候,的确创建了。

以上程序已经完成了具体的文件创建与删除的操作,但是此时的程序会存在有两个问题。

在windows系统里面支持的是""路径分隔符
Linux下使用的是"/"路径分隔符。
因此开发项目在Windows上,部署在Linux上时候,写绝对路径,可能会出错,File类中有一个常量public static final String separator;

        File file=new File("e:"+File.separator+"test.txt");

如此来分割是最合理的做法。

所以以后一定要注意使用File.seperator分隔符

在进行java.io操作的过程之中,会出现延迟情况,因为现在的问题是Java程序是通过JVM间接调用操作系统的文件处理函数进行的文件处理操作,所以中间会出现延迟情况。

猜你喜欢

转载自blog.csdn.net/weixin_33749242/article/details/87040381