java中File基础

文件的基本操作

public class Test {
    public static void main(String[] args)
    {
      File file=new File("hell.txt");
        //判断文件是否存在
        if(file.exists())
        {
              //删除文件
              file.delete();
// //重命名
// File nameto=new File("new_hello.txt");
// file.renameTo(nameto);

            //文件的移动.但是只能在同一个分区之间移动比如(c盘)mac是一个整的分区不影响.
            //File to=new File("src/new_hello.txt");
            //file.renameTo(to);

            //跨分区的移动文件需要拷贝文件

            //判断文件是否是文件或者是否是文件夹
            System.out.println(file.isFile());
            System.out.println(file.isDirectory());

        }
        else {
            System.out.println("no exits");
            try {
                //创建新的文件
                file.createNewFile();
                System.out.println("文件已被成功创建");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

文件夹

public class Test {
    public static void main(String[] args)
    {
        //创建文件夹
        //该函数创建文件夹是最后一个.但之前的目录必须存在.及new_folder/one必须已经存在
// File folder=new File("new_folder/one/two");
// //创建文件夹并且返回boolean
// //folder.mkdirs()可以创建多级目录
// if(folder.mkdir())
// {
// System.out.println("创建成功");
// }
// else
// {
// if(folder.exists())
// {
// System.out.println("已经存在,不可创建");
// }else
// {
// System.out.println("文件夹创建失败");
// }
// }
        //文件夹的重命名处于同一个分区.目标的文件或者文件夹已经存在,重命名也不会成功

        File folder=new File("new_folder");
        File newfolder=new File("new_folder_new");
        folder.renameTo(newfolder);
        //之前的代码已经创建new_folder/one/two目录.文件夹的重命名可以只改某一级.结果是
        //new_folder_new/one/two
        //删除文件夹时,必须保证该文件夹是空的.否则删除不成功


    }

File的其他属性

public class Test {
    public static void main(String[] args)
    {
        File file=new File("test.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("判断文件是否隐藏"+file.isHidden());
        //判断文件是否可写
        System.out.println("判断文件是否可写"+file.canWrite());
        //判断文件是否可读
        System.out.println("判断文件是否可读"+file.canRead());
        //判断文件是否是文件夹
        System.out.println("判断文件是否是文件夹"+file.isDirectory());



    }
}

File读写属性设置

//可写
            file.setWritable(true);
            //可读
            file.setReadable(true);
            //只读
            file.setReadOnly();

简单的文件读写

 File file=new File("test.txt");
        try {
            //文件输入流字节流
            FileInputStream fileInputStream=new FileInputStream(file);
            //字符流
            InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream,"UTF-8");
           //带缓冲的字符流
            BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
            String line=null;
            while ((line=bufferedReader.readLine())!=null)
            {
                System.out.println(line);
            }
            bufferedReader.close();
            inputStreamReader.close();
            fileInputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            //文件不存在的话会进行创建
            FileOutputStream fileOutputStream=new FileOutputStream("testnew.txt");
            OutputStreamWriter outputStreamWriter=new OutputStreamWriter(fileOutputStream,"UTF-8");
            BufferedWriter bufferedWriter=new BufferedWriter(outputStreamWriter);

            //每次写入都是覆盖的
            bufferedWriter.write("hell");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

你可能感兴趣的:(java)