一篇让你彻底学会文件操作

戚薇 Java经验 发布时间:2023-04-07 22:42:16 阅读数:2819 1
下文笔者将讲述使用java代码对本地文件的操作方法分享,如下所示

Java常见的文件操作功能

在Java中,我们经常需要对文件进行操作
   如:
     文件创建、文件删除、文件重命名
	 文件夹的创建、文件夹删除、文件夹重命名
	 文件属性的获取及文件属性设置
	 遍历文件夹
	 文件简单读写
  这些操作都离不开File类
     下文笔者将采用File类举例讲述具体的操作方法
  如下所示

File类的简介

File类是Java中文件或目录的路径的抽象表现形式
File类中封装了很多对文件或文件夹的操作方法
package file;
import java.io.File;
public class HelloFile {
    public static void main(String[] args) {
        //创建文件对象
        File file = new File("test.txt");
        //判断文件 ,返回布尔
        file.isFile();
        System.out.println(file.isFile());
        //路径(文件夹)
        file.isDirectory();
        System.out.println(file.isDirectory());
    }
}

----运行以上代码,将输出以下信息-----
false
false

文件的创建、删除、重命名

public class HelloFile {
    public static void main(String[] args) {
        //创建文件对象
        File file = new File("testJava265.txt");
        //testJava265.txt会存在于当前目录
        //相对路径格式:xxx//testJava265.txt
        //绝对路径格式:D://testA//testB//testJava265.txt
        //"../testJava265.txt" 表示上一级文件结构
        //是否存在
        if(file.exists()){
        //文件
        System.out.println(file.isFile());
        //路径(文件夹)
        System.out.println(file.isDirectory());
        //重命名
        //文件结构必须处于同一个分区
        //文件处于不同的分区,需要使用文件的拷贝,而不是重命名
//        File nameto = new File("src/new testJava265.txt");
//        file.renameTo(nameto);
        //文件删除
//        file.delete();
//        System.out.println("文件删除成功");
        }else {
            System.out.println("文件不存在");
            //创建文件
            try {
                file.createNewFile();
                System.out.println("文件已经成功创建");
            } catch (IOException e) {
                System.out.println("文件无法创建");
            }
        }

    }

}

文件夹的创建、重命名、删除

public class TestFile {
    public static void main(String[] args) {

       //文件夹的创建
        File folder = new File("文件夹");
        folder.mkdir();
        System.out.println("文件夹创建完成");

       //关于folder.mkdir(),返回一个布尔类型
        if(folder.mkdir()){
            System.out.println("文件夹创建完成");
        }else{
            if(folder.exists()){
                System.out.println("文件夹已经存在不用创建了");
            }else{
                System.out.println("文件夹创建失败");
            }
        }

        //文件夹的重命名
        File folder = new File("文件夹");
        File newfolder = new File("新文件夹");
        if(folder.renameTo(newfolder)){//返回值布尔类型
            System.out.println("done");
        }else{
            System.out.println("fail");
        }

       //文件夹的删除
        File folder = new File("test/文件夹");
        folder.delete();//返回值布尔类型
        //被删除的文件夹必须为空才会删除成功
        if(folder.delete()){
            System.out.println("done");
        }else{
            System.out.println("fail");
        }
    }
}

文件属性的读取

public class HelloFile {

    public static void main(String[] args) {
        //文件属性的读取
        File file = new File("text.txt");
        //判断文件是否存在
        System.out.println("判断文件是否存在"+file.exists());
        //读取文件名称
        System.out.println("读取文件名称"+file.getName());
        //读取文件路径
        System.out.println("读取文件路径"+file.getPath());
        //读取文件绝对路径
        System.out.println("读取文件绝对路径"+file.getAbsolutePath());
        //获取文件父级路径
        System.out.println("获取文件父级路径"+new File(file.getAbsolutePath()).getParent());
        //读取文件大小
        System.out.println("读取文件大小"+file.length()+"byte");//字节
        System.out.println("读取文件大小"+(float)file.length()/1000+"KB");
        //判断文件是否被隐藏
        System.out.println("判断文件是否被隐藏"+file.isHidden());
        //判断文件是否可读
        System.out.println("判断文件是否可读"+file.canRead());
        //判断文件是否可写
        System.out.println("判断文件是否可写"+file.canWrite());
        //判断文件是否为文件夹
        System.out.println("判断文件是否为文件夹"+file.isDirectory());
    }

设置文件属性

public class HelloFile {
    public static void main(String[] args) {
        //文件属性的设置
        File file = new File("text.txt");
        if (file.exists()){
            //将文件设定为可写
            file.setWritable(true);
            file.setWritable(false);
            //将文件设定为可读
            file.setReadable(false);
            file.setReadable(true);
            //将文件设定为只读
            file.setReadOnly();

    }

遍历文件夹

    //遍历文件夹
    public static void printFiles(File dir){
        printFiles(new File("绝对路径"));
        if (dir.isDirectory()) {
            File next[] = dir.listFiles();//listFiles()返回一个数组
            for(int i= 0;i<next.length;i++){
                System.out.println(next[i].getName());
                if(next[i].isDirectory()){
                    printFiles(next[i]);
                }
            }
        }
    }

文件的简单读写

package file;
import java.io.File;
import java.io.IOException;
public class HelloFile {
    public static void main(String[] args) {
     File file = new File("test.txt");
    if(file.exists()){
        System.err.println("exist");
        try{
            FileInputStream fis = new FileInputStream(file);
            InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
            BufferedReader br = new InputStreamReader(isr);
            String line;
            while(line = br.readLine() != NUll){
                System.out.println(line);
            }
            br.close();
            isr.close();
            fis.close();


        }catch (FileNotFoundException e) {
        }catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }catch (Exception e) {
        }
      }
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202304/16808785726196.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者