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();
        }
發佈了43 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章