国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

File 類和 InputStream, OutputStream 的用法

這篇具有很好參考價(jià)值的文章主要介紹了File 類和 InputStream, OutputStream 的用法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.文件系統(tǒng)操作?

File 類

2.文件內(nèi)容操作?

InputStream?

1.創(chuàng)建InputStream類對(duì)象

?2.讀文件

OutputStream

1.創(chuàng)建OutputStream類對(duì)象

2.寫文件


? ? ? 上篇博客我們?cè)斍榻榻B了文件系統(tǒng)的相關(guān)知識(shí)。在文件系統(tǒng)操作中,由于文件是在硬盤上的,直接寫代碼不好操作,所以,我們通過(guò)創(chuàng)建File類對(duì)象,調(diào)用file類對(duì)象來(lái)間接訪問(wèn)硬盤上的文件。

1.文件系統(tǒng)操作?

File 類

1、創(chuàng)建File類對(duì)象

  File file=new File("d:/xixi.jpg");

通過(guò)文件絕對(duì)/相對(duì)路徑進(jìn)行初始化。

2、File類常用方法:

File 類和 InputStream, OutputStream 的用法

代碼演示:

public static void main(String[] args) throws IOException {
        //1.創(chuàng)建一個(gè)file類
        File file=new File("d:/xixi.jpg");
        /*
        File file=new File("d:/xigua/xixi.jpg");
        System.out.println(file.getName());//返回文件/目錄名  xixi.jpg
        System.out.println(file.getParent());//返回父目錄    d:/xigua
        System.out.println(file.getPath());//返回路徑名字符串  d:/xigua/xixi.jpg
        System.out.println(file.getAbsolutePath());//返回絕對(duì)路徑名字符串 d:/xigua/xixi.jpg
        System.out.println(file.getCanonicalPath());//返回規(guī)范路徑名字符串D:/xigua/xixi.jpg*/ 
        System.out.println(file.exists());//文件是否存在 true
        System.out.println(file.isDirectory());//文件是否為目錄 false
        System.out.println(file.isFile());//文件是否為普通文件 true
    }

2.文件內(nèi)容操作?

InputStream, OutputStream 類是處理二進(jìn)制文件的,以字節(jié)流為基本單位。

  • InputStream?

1.創(chuàng)建InputStream類對(duì)象

File 類和 InputStream, OutputStream 的用法

觀察源碼發(fā)現(xiàn)InputStream是一個(gè)抽象類,不能直接new對(duì)象。我們通過(guò)實(shí)例化它的子類FileInputStream來(lái)創(chuàng)建對(duì)象。

File 類和 InputStream, OutputStream 的用法

InputStream inputStream=null;
try {
    inputStream=new FileInputStream("d:/student.txt");
}finally {
    inputStream.close();
}

注意一定不要忘記最后的close操作。但是上述的代碼可以進(jìn)行優(yōu)化的。在Java中,還存在try with resources 這個(gè)操作。它是帶有資源的try操作,會(huì)在try代碼塊結(jié)束后,自動(dòng)進(jìn)行close關(guān)閉操作。

try(InputStream inputStream=new FileInputStream("d:/student.txt")){
}
指定一個(gè)要讀的文件

這是由于InputStream實(shí)現(xiàn)了Closeable接口?

?File 類和 InputStream, OutputStream 的用法

?2.讀文件

首先,我們要讀取的文件student.txt的內(nèi)容為:

File 類和 InputStream, OutputStream 的用法

我們通過(guò)read()方法,while循環(huán)進(jìn)行讀取,當(dāng)讀到文件結(jié)尾是,結(jié)束,跳出循環(huán)。

try( InputStream inputStream=new FileInputStream("d:/student.txt")){
    while(true){
        int ret=inputStream.read();//無(wú)參相當(dāng)于一次讀一個(gè)字節(jié)
        if(ret==-1){
            break;
        }else{
            System.out.println(ret);//ascii碼值 
                
        }
   }
}

?結(jié)果:

File 類和 InputStream, OutputStream 的用法

?按照ascii碼表,可解析出數(shù)據(jù)為20201209004cjw.

如果是漢字的話:每個(gè)漢字三個(gè)字節(jié)(一個(gè)數(shù)字一個(gè)字節(jié))。(utf-8)

將student.txt的內(nèi)容修改成小曹,運(yùn)行,發(fā)現(xiàn)結(jié)果:

File 類和 InputStream, OutputStream 的用法

我們通過(guò)網(wǎng)站查看utf-8字符編碼,將上述讀取的字節(jié)內(nèi)容以16進(jìn)制的格式打印。

File 類和 InputStream, OutputStream 的用法

System.out.printf("%x\n",ret);

查看結(jié)果:

File 類和 InputStream, OutputStream 的用法

與上述一個(gè)字節(jié)一個(gè)字節(jié)的讀取對(duì)上了。

  • OutputStream

1.創(chuàng)建OutputStream類對(duì)象

 try {
      OutputStream outputStream=new FileOutputStream("d:/student2.txt");
 }catch (IOException e){
      e.printStackTrace();
}

2.寫文件

 try {
      OutputStream outputStream=new FileOutputStream("d:/student2.txt");
      outputStream.write(97);
 }catch (IOException e){
      e.printStackTrace();
}

查看student2.txt:

File 類和 InputStream, OutputStream 的用法

注:read()可以一次讀取一個(gè)字節(jié)或多個(gè)字節(jié);write()也可以一次寫一個(gè)字節(jié)或多個(gè)字節(jié)。?


File類是基于文件系統(tǒng)操作的,主要用于創(chuàng)建/刪除文件,創(chuàng)建目錄,判斷當(dāng)前是普通文件海還是目錄,返回絕對(duì)/相對(duì)路徑等等.InputStream和OutputStream是基于文件內(nèi)容的,打開文件,讀取內(nèi)容,寫入內(nèi)容.文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438040.html

到了這里,關(guān)于File 類和 InputStream, OutputStream 的用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • outputStream(輸出流)轉(zhuǎn)inputstream(輸入流)以及輸入流如何復(fù)用

    需求: 通過(guò)MultipartFile 上傳文件到文件服務(wù)器,上傳前要把文件轉(zhuǎn)為pdf格式進(jìn)行上傳,并生成文件摘要用來(lái)驗(yàn)證服務(wù)器中的文件是否被篡改。 準(zhǔn)備: 需要涉及到 inputstream(輸入流)或outputStream(輸出流)要使用兩次 。 一、如果該文件本身就是pdf格式則直接進(jìn)行上傳。第一次

    2024年02月14日
    瀏覽(18)
  • 在java中將inputStream對(duì)象轉(zhuǎn)換為File對(duì)象(不生成本地文件)

    需求說(shuō)明 在后端中通過(guò)POI生成Excel文件流,將輸出流(outputStream)轉(zhuǎn)為輸入流(inputStream)后又需要將輸入流(inputStream)轉(zhuǎn)為File對(duì)象 問(wèn)題:如果需要將輸入流(inputStream)轉(zhuǎn)為File對(duì)象,則必須要根據(jù)本地路徑去生成一個(gè)File對(duì)象才行,也就是說(shuō)不管怎樣本地都必須要生成出來(lái)

    2024年02月15日
    瀏覽(18)
  • <JavaEE> 文件IO -- File類和文件操作

    目錄 一、文件的概念 二、文件系統(tǒng) 三、文件類型 四、使用 File 類進(jìn)行文件操作 4.1 File 類中的 pathSeparator 屬性 4.2?File 類構(gòu)造方法 4.3?File 類常用方法 什么是文件? 廣義上的“文件”是指抽象化的操作系統(tǒng)中的硬件設(shè)備和軟件資源,目的是對(duì)這些“文件”進(jìn)行同一的管理。

    2024年02月04日
    瀏覽(31)
  • Linux區(qū)分文件類型,file指令,目錄權(quán)限,umask掩碼,共享文件,Linux中的一些有趣指令

    Linux區(qū)分文件類型,file指令,目錄權(quán)限,umask掩碼,共享文件,Linux中的一些有趣指令

    所屬專欄:Linux學(xué)習(xí)?? ?? 博主首頁(yè):初陽(yáng)785?? ?? 代碼托管:chuyang785?? ?? 感謝大家的支持,您的點(diǎn)贊和關(guān)注是對(duì)我最大的支持?。?!?? ?? 博主也會(huì)更加的努力,創(chuàng)作出更優(yōu)質(zhì)的博文??!?? ?? 關(guān)注我,關(guān)注我,關(guān)注我,重要的事情說(shuō)三遍?。。。。。。?!

    2024年02月08日
    瀏覽(45)
  • python中針對(duì)同一目錄或不同目錄下的其他文件或文件夾的import用法

    在Python中, import 用于導(dǎo)入其他文件或模塊的內(nèi)容,讓你可以在當(dāng)前文件中使用這些內(nèi)容。下面我將介紹如何使用 import 來(lái)導(dǎo)入同一目錄或不同目錄下的文件或文件夾。 1. 導(dǎo)入同一目錄下的文件或模塊: 如果你要導(dǎo)入與當(dāng)前文件位于同一目錄下的文件或模塊,可以直接

    2024年02月14日
    瀏覽(27)
  • 【Nuxt3】目錄中components文件夾的用法

    【Nuxt3】目錄中components文件夾的用法

    在Nuxt3中,components文件夾和vue文件夾用處一樣,都是放置vue公共組件的地方。只不過(guò)由于Nuxt3中components文件內(nèi)的組件自動(dòng)導(dǎo)入機(jī)制,用法些許不同。 components/ 目錄是你放置所有 Vue 組件的地方。 Nuxt 會(huì)自動(dòng)導(dǎo)入該目錄中的所有組件(以及您可能使用的任何模塊注冊(cè)的組件)。

    2024年01月19日
    瀏覽(17)
  • java -- File類和遞歸

    java.io.File 類是文件和目錄路徑名的抽象表示,主要用于文件和目錄的創(chuàng)建、查找和刪除等操作。File類將文件,文件夾和路徑封裝成了對(duì)象,提供大量的方法來(lái)操作這些對(duì)象。 絕對(duì)路徑 :從 盤符 (Windows)或\\\" / \\\"(Linux)開始的路徑,這是一個(gè)完整的路徑,絕對(duì)路徑具有唯一性 相對(duì)

    2023年04月16日
    瀏覽(22)
  • Java File類和IO流

    Java File類和IO流

    目錄 1. File類 1.1 File對(duì)象創(chuàng)建 1.2 File判斷和獲取方法 1.3 創(chuàng)建和刪除方法 1.4 遍歷文件夾 2. 字符集 2.1?ASCII字符集 2.2 GBK字符集 2.3 Unicode字符集 2.4 UTF-8 2.5 字符集小結(jié) 2.6 編碼和解碼 3. IO流(字節(jié)流) 3.1 IO流概述 3.2 FileInputStream 3.3 FileOutputStream? 3.4 FileReader 3.5 FileWriter 3.6 緩沖流

    2024年02月09日
    瀏覽(20)
  • 解決npm報(bào)錯(cuò)Error:EEXIST: file already exists, mkdir “文件路徑“,yarn create vite-app 報(bào)文件名、目錄名或卷標(biāo)語(yǔ)法不正確

    我這里出現(xiàn)錯(cuò)誤是因?yàn)樵谂渲胣pm命令目錄與npm全局安裝位置時(shí)目錄創(chuàng)建失敗,但是在執(zhí)行 命令之后在本地的\\\" .yarnrc \\\"文件中 \\\" global-folder \\\" 屬性被寫入,之后會(huì)卡在 這個(gè)問(wèn)題 在c盤的對(duì)應(yīng)用戶的文件夾下找到 .yarnrc 文件,打開它,將其配置為正確的路徑即可 我這里是因?yàn)閥arn的

    2024年02月08日
    瀏覽(102)
  • 【Java|基礎(chǔ)篇】File類和IO流

    【Java|基礎(chǔ)篇】File類和IO流

    File類是Java中用于表示文件或目錄的類。它提供了一些方法來(lái)操作文件和目錄的屬性和內(nèi)容,可以進(jìn)行文件的創(chuàng)建、刪除、重命名等操作。 File類可以用于表示磁盤上的實(shí)際文件或目錄,也可以表示一個(gè)虛擬的文件或目錄。File對(duì)象可以通過(guò)路徑來(lái)創(chuàng)建,路徑可以是絕對(duì)路徑或

    2024年02月15日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包