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

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

 更新時(shí)間:2022年12月07日 08:55:34   作者:芝麻干  
這篇文章主要介紹了Java IO流對(duì)文件File操作,java封裝的一個(gè)操作文件及文件夾(目錄)的對(duì)象。可以操作磁盤(pán)上的任何一個(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)去人的胃里,就是輸入流,人把水吐出到杯子里就是輸出流。杯子就是磁盤(pá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)在磁盤(pá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盤(pán)中創(chuàng)建了一個(gè)news1.txt文件

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

第三種就是 根據(jù)父目錄+子路徑構(gòu)建 在E盤(pán)中的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("文件名稱(chēng):"+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盤(pán)創(chuàng)建一級(jí)目錄demo,m3在D盤(pán)創(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面試突擊之過(guò)濾器和攔截器區(qū)別詳解

    SpringBoot面試突擊之過(guò)濾器和攔截器區(qū)別詳解

    過(guò)濾器(Filter)和攔截器(Interceptor)都是基于?AOP(Aspect?Oriented?Programming,面向切面編程)思想實(shí)現(xiàn)的,用來(lái)解決項(xiàng)目中某一類(lèi)問(wèn)題的兩種“工具”,但二者有著明顯的差距,接下來(lái)我們一起來(lái)看
    2022-10-10
  • java:程序包org.apache.ibatis.annotations不存在報(bào)錯(cuò)解決

    java:程序包org.apache.ibatis.annotations不存在報(bào)錯(cuò)解決

    這篇文章主要給大家介紹了關(guān)于java:程序包org.apache.ibatis.annotations不存在報(bào)錯(cuò)的解決方法,這個(gè)錯(cuò)誤是我在直接導(dǎo)入springboot項(xiàng)目的時(shí)候報(bào)錯(cuò)的,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • PostgreSQL Docker部署+SpringBoot集成方式

    PostgreSQL Docker部署+SpringBoot集成方式

    本文介紹了如何在Docker中部署PostgreSQL和pgadmin,并通過(guò)SpringBoot集成PostgreSQL,主要步驟包括安裝PostgreSQL和pgadmin,配置防火墻,創(chuàng)建數(shù)據(jù)庫(kù)和表,以及在SpringBoot中配置數(shù)據(jù)源和實(shí)體類(lèi)
    2024-12-12
  • java中BigDecimal類(lèi)的構(gòu)造詳解及使用

    java中BigDecimal類(lèi)的構(gòu)造詳解及使用

    這篇文章主要介紹了java中BigDecimal類(lèi)的構(gòu)造詳解及使用,Java在java.math包中提供的API類(lèi)BigDecimal,用來(lái)對(duì)超過(guò)16位有效位的數(shù)進(jìn)行精確的運(yùn)算,需要的朋友可以參考下
    2023-07-07
  • 實(shí)例詳解Java實(shí)現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換

    實(shí)例詳解Java實(shí)現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換

    這篇文章主要介紹了Java實(shí)現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2016-12-12
  • 詳解SpringMVC的url-pattern配置及原理剖析

    詳解SpringMVC的url-pattern配置及原理剖析

    這篇文章主要介紹了SpringMVC的url-pattern配置及原理剖析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JAVA異常處理捕獲與拋出原理解析

    JAVA異常處理捕獲與拋出原理解析

    這篇文章主要介紹了JAVA異常處理捕獲與拋出原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot的三大開(kāi)發(fā)工具小結(jié)

    SpringBoot的三大開(kāi)發(fā)工具小結(jié)

    本文主要介紹了SpringBoot的三大開(kāi)發(fā)工具,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • mybatis條件構(gòu)造器(EntityWrapper)的使用方式

    mybatis條件構(gòu)造器(EntityWrapper)的使用方式

    這篇文章主要介紹了mybatis條件構(gòu)造器(EntityWrapper)的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java 常見(jiàn)的并發(fā)問(wèn)題處理方法總結(jié)

    Java 常見(jiàn)的并發(fā)問(wèn)題處理方法總結(jié)

    這篇文章主要介紹了Java 常見(jiàn)的并發(fā)問(wèn)題處理方法總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-02-02

最新評(píng)論