欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java IO流對(duì)文件File操作

 更新時(shí)間:2022年12月07日 08:55:34   作者:芝麻干  
這篇文章主要介紹了Java IO流對(duì)文件File操作,java封裝的一個(gè)操作文件及文件夾(目錄)的對(duì)象??梢圆僮鞔疟P上的任何一個(gè)文件和文件夾

什么是文件

文件,對(duì)我們并不陌生,文件是保存數(shù)據(jù)的地方,比如大家經(jīng)常使用的word文檔,txt文件,exce|文件..都是文件。它既可以保存一-張圖片也可以保持視頻,聲音...

文件流

文件在程序中是以流的形式來(lái)操作的。

流:數(shù)據(jù)在數(shù)據(jù)源(文件)和程序(內(nèi)存)之間經(jīng)歷的路徑。

輸入流:數(shù)據(jù)從數(shù)據(jù)源(文件)到程序(內(nèi)存)的路徑。

輸出流:數(shù)據(jù)從程序(內(nèi)存)到數(shù)據(jù)源(文件)的路徑。

可以把上面的流比作人喝水

從杯子里的水喝進(jìn)去人的胃里,就是輸入流,人把水吐出到杯子里就是輸出流。杯子就是磁盤,水就是文件。人就是Java程序,胃就是內(nèi)存。

常用的文件操作

創(chuàng)建文件

new File(String pathname) //根據(jù)路徑構(gòu)建一一個(gè)File對(duì)象

new File(File parent,String child) //根據(jù)父目錄文件+子路徑構(gòu)建

File(String parent,String child) //根據(jù)父目錄+子路徑構(gòu)建

createNewFile創(chuàng)建新文件

直接看代碼:

package com.io.file;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
/**
 * @author 華子
 * 文件的創(chuàng)建
 */
public class FileCreate {
    public static void main(String[] args) {
    }
//    第一種方法 new File(String path)
    @Test
    public void create01(){
        String filePath = "E:\\news1.txt";
        File file = new File(filePath);
        try {
            file.createNewFile();
            System.out.println("文件創(chuàng)建成功");
        } catch (IOException e) {
            System.out.println("文件創(chuàng)建失敗");
        }
    }
//    第二種方法 newFile(File parent,String path);父目錄+子路徑構(gòu)建
    @Test
    public void create02(){
        File parentFile = new File("e:\\");
        String fileName = "news2.txt";
//        這里的file對(duì)象,只是一個(gè)Java對(duì)象,保存在內(nèi)存中
        File file = new File(parentFile, fileName);
//        只有createNewFile()了,才會(huì)出現(xiàn)在磁盤中
        try {
            file.createNewFile();
            System.out.println("文件創(chuàng)建成功");
        } catch (IOException e) {
            System.out.println("文件創(chuàng)建失敗");
        }
    }
//方式3 new File(String parent, String child) //根據(jù)父日錄+子路徑構(gòu)建
   @Test
    public void create03(){
        String parentFile = "e:\\";
        String childFile = "news\\news3.txt";
        File file = new File(parentFile, childFile);
        try {
            file.createNewFile();
            System.out.println("文件創(chuàng)建成功");
        } catch (IOException e) {
            System.out.println("文件創(chuàng)建失敗");
        }
    }
}

運(yùn)行結(jié)果:

第一種方法就是在E盤中創(chuàng)建了一個(gè)news1.txt文件

第二種方法通過(guò)父目錄文件+子路徑構(gòu)建在E盤新建了一個(gè) news2.txt 文件。

第三種就是 根據(jù)父目錄+子路徑構(gòu)建 在E盤中的news文件夾里創(chuàng)建了一個(gè)new3.txt文件

如圖:

獲取文件信息

getName、getAbsolutePath、 getParent、 length、 exists、 isFile、isDirectory

獲取上面創(chuàng)建的new3.txt文件。

直接看代碼:

package com.io.file;
import org.junit.jupiter.api.Test;
import java.io.File;
/**
 * 獲取文件信息
 */
public class FileInformation {
    public static void main(String[] args) {
    }
//    獲取文件信息
    @Test
    public void info(){
//        先創(chuàng)建文件對(duì)象
        File file = new File("E:\\news\\news3.txt");
//        調(diào)用對(duì)應(yīng)的方法,得到對(duì)應(yīng)的信息
//        getName、getAbsolutePath、getParent、Length、exists、isFile、isDirectory
        System.out.println("文件名稱:"+file.getName());
        System.out.println("文件絕對(duì)路徑:"+file.getAbsolutePath());
        System.out.println("文件父級(jí)目錄:"+file.getParent());
        System.out.println("文件大?。?+file.length());
        System.out.println("文件是否存在:"+file.exists());//true
        System.out.println("是不是一個(gè)文件:"+file.isFile());//true
        System.out.println("是不是一個(gè)目錄:"+file.isDirectory());//false
    }
}

運(yùn)行結(jié)果:

目錄的操作和文件刪除 

mkdir創(chuàng)建一級(jí)目錄、mkdirs創(chuàng)建多級(jí)目錄、delete刪除空目錄或文件

直接看案例:

package com.io.file;
import org.junit.jupiter.api.Test;
import java.io.File;
/**
 * 目錄
 */
public class Directory {
    public static void main(String[] args) {
    }
//    判斷e:\news1.txt是否存在,如果存在就刪除
    @Test
    public void m1(){
        String filePath = "e:\\news1.txt";
        File file = new File(filePath);
        if(file.exists()){
            if(file.delete()){
                System.out.println("文件已經(jīng)刪除....");
            }else {
                System.out.println("文件刪除失敗...");
            }
        }else {
            System.out.println("該文件不存在...");
        }
    }
    //判斷D:\\demo02 這個(gè)目錄是否存在,存在就刪除,否則提示不存在
    //這里我們需要體會(huì)到,在java編程中,目錄也被當(dāng)做文件
    @Test
    public void m2(){
        String filePath = "D:\\demo02";
        File file = new File(filePath);
        if(file.exists()){
            if(file.delete()){
                System.out.println("目錄已經(jīng)刪除....");
            }else {
                System.out.println("目錄刪除失敗...");
            }
        }else {
            System.out.println("該目錄不存在...");
        }
    }
    //判斷D:\\demo\\a\\b\\c 日錄是否存在,如果存在就提示經(jīng)存在,否則就創(chuàng)建
    @Test
    public void m3(){
        String directoryPath = "D:\\demo\\a\\b\\c";
        File file = new File(directoryPath);
        if(file.exists()){
            System.out.println("目錄已經(jīng)存在");
        }else {
            if(file.mkdirs()){
                System.out.println("創(chuàng)建成功");
            }else {
                System.out.println("創(chuàng)建失敗");
            }
        }
    }
}

m1方法刪除news.txt文件,m2在D盤創(chuàng)建一級(jí)目錄demo,m3在D盤創(chuàng)建多級(jí)目錄

運(yùn)行結(jié)果:

到此這篇關(guān)于Java IO流對(duì)文件File操作的文章就介紹到這了,更多相關(guān)Java操作File內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot使用thymeleaf實(shí)現(xiàn)前端表格

    SpringBoot使用thymeleaf實(shí)現(xiàn)前端表格

    雖然現(xiàn)在流行前后端分離,但是后端模版在一些關(guān)鍵地方還是非常有用的,例如郵件模版、代碼模版等。當(dāng)然也不排除一些古老的項(xiàng)目后端依然使用動(dòng)態(tài)模版。Thymeleaf 簡(jiǎn)潔漂亮、容易理解,并且完美支持 HTML5,可以直接打開(kāi)靜態(tài)頁(yè)面,同時(shí)不新增標(biāo)簽,只需增強(qiáng)屬性
    2022-10-10
  • SpringMVC中重定向model值的獲取方式

    SpringMVC中重定向model值的獲取方式

    這篇文章主要介紹了SpringMVC中重定向model值的獲取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java使用PreparedStatement接口及ResultSet結(jié)果集的方法示例

    Java使用PreparedStatement接口及ResultSet結(jié)果集的方法示例

    這篇文章主要介紹了Java使用PreparedStatement接口及ResultSet結(jié)果集的方法,結(jié)合實(shí)例形式分析了PreparedStatement接口及ResultSet結(jié)果集的相關(guān)使用方法與操作注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • springboot如何獲取登錄用戶的個(gè)人信息

    springboot如何獲取登錄用戶的個(gè)人信息

    在Spring Boot中,獲取登錄用戶的個(gè)人信息通常需要使用Spring Security框架來(lái)進(jìn)行身份認(rèn)證和授權(quán),這篇文章主要介紹了springboot獲取登錄用戶的個(gè)人信息,需要的朋友可以參考下
    2023-05-05
  • 劍指Offer之Java算法習(xí)題精講二叉樹(shù)專題篇上

    劍指Offer之Java算法習(xí)題精講二叉樹(shù)專題篇上

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • SpringMVC結(jié)構(gòu)簡(jiǎn)介及常用注解匯總

    SpringMVC結(jié)構(gòu)簡(jiǎn)介及常用注解匯總

    這篇文章主要介紹了SpringMVC結(jié)構(gòu)簡(jiǎn)介及常用注解匯總,幫助大家更好的理解和學(xué)習(xí)使用SpringMVC,感興趣的朋友可以了解下
    2021-03-03
  • Java中的CompletableFuture異步編程詳解

    Java中的CompletableFuture異步編程詳解

    這篇文章主要介紹了Java中的CompletableFuture異步編程詳解,只要提到多線程來(lái)優(yōu)化性能,那么必定離不開(kāi)異步化,異步化的出現(xiàn)才是多線程優(yōu)化性能這個(gè)核心方案的基礎(chǔ),需要的朋友可以參考下
    2023-12-12
  • Java中JDBC連接數(shù)據(jù)庫(kù)詳解

    Java中JDBC連接數(shù)據(jù)庫(kù)詳解

    本文主要介紹了JDBC連接數(shù)據(jù)庫(kù)的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • idea將項(xiàng)目上傳到Gitee的圖文過(guò)程

    idea將項(xiàng)目上傳到Gitee的圖文過(guò)程

    這篇文章主要介紹了idea將項(xiàng)目上傳到Gitee上,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Spring boot 總結(jié)之跨域處理cors的方法

    Spring boot 總結(jié)之跨域處理cors的方法

    本篇文章主要介紹了Spring boot 總結(jié)之跨域處理cors的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02

最新評(píng)論