IO 使用說(shuō)明介紹
在判斷文件對(duì)象是否是文件或者目錄時(shí),必須要先判斷該文件對(duì)象封裝的內(nèi)容是否存在,通過(guò)exists判斷; 在文本文件操作流構(gòu)造的時(shí)候還可指定編碼方式;
File f;
f.exists();
f.isDirectory();
f.isFile();
f.deleteOnExit();// 在程序退出的時(shí)候?qū)⒅付ㄎ募h除;
f.createNewFile();// 在指定位置創(chuàng)建文件,如果文件已經(jīng)存在,則返回false;
f.getParent();//此方法返回的是絕對(duì)路徑中的父目錄,如果獲取的是相對(duì)路徑,返回Null,如果相對(duì)路徑中有上一層目錄則返回該目錄;
File.separator //文件系統(tǒng)分割符,不同系統(tǒng)分割符不同;
FilenameFilter://用于過(guò)濾文件名;
FilenameFilter.accept(File dir,String name); //測(cè)試指定文件是否包含在某一文件列表中;
name:文件的名稱;
public boolean accept(File dir, String name) { return name.endsWith(".txt"); }
//緩沖區(qū)的出現(xiàn)是為了提高流的操作效率而出現(xiàn)的;在創(chuàng)建緩沖區(qū)之前,必須要有流對(duì)象;
//緩沖技術(shù)其實(shí)是在對(duì)象內(nèi)部封閉了數(shù)組,存完了之后一次性寫入;
Constructor: 將流傳入buffer的構(gòu)造函數(shù);
Notice:只要用到緩沖區(qū),就得對(duì)緩沖區(qū)進(jìn)行刷新;
Buffered... buf;
buf.flush();
buf.close();//關(guān)閉緩沖區(qū)就是關(guān)閉緩沖區(qū)中的流對(duì)象;
BufferedReader bufr;
bufr.readLine();//返回一行,但不包含換行符;
// 無(wú)論讀取一行還是多個(gè)字符,其實(shí)最終都是在硬盤上一個(gè)一個(gè)的讀取,所以最終使用的方法還是read方法一次讀一個(gè)
/*
* ByteArrayInputStream:在構(gòu)造的時(shí)候,需要接收數(shù)據(jù)源,而且數(shù)據(jù)源為字節(jié)數(shù)組;
* ByteArrayOutputStream:在構(gòu)造的時(shí)候,不用定義數(shù)據(jù)目的,因?yàn)閮?nèi)部定義了一個(gè)可變長(zhǎng)度的字節(jié)數(shù)組,它就是數(shù)據(jù)目的地;
* 兩個(gè)流對(duì)象都操作的是數(shù)組,并沒(méi)有使用系統(tǒng)資源,不需要進(jìn)行關(guān)閉的操作;
*/
// 關(guān)閉流資源之前會(huì)刷新一次內(nèi)部緩沖區(qū)中的數(shù)據(jù);
// flush();刷新(將緩沖區(qū)中的數(shù)據(jù)存入文件中)后,流繼續(xù)使用;
// 序列化:靜態(tài)的成員不能序列化;
// 如果不想讓非靜態(tài)成員被序列化,加修飾符:transient int,,,
System.in:InputStream
System.out:OutputStream
相關(guān)文章
Mybatis和orcale update語(yǔ)句中接收參數(shù)為對(duì)象的實(shí)例代碼
Mybatis的 mapper.xml 中 update 語(yǔ)句使用 if 標(biāo)簽判斷對(duì)像屬性是否為空值。本文重點(diǎn)給大家介紹Mybatis和orcale update語(yǔ)句中接收參數(shù)為對(duì)象的實(shí)例代碼,需要的朋友參考下吧2017-09-09SpringBoot3.0自定stater模塊的操作流程(chatGPT提供的49種場(chǎng)景)
SpringBoot3.0發(fā)布等重磅陸消息續(xù)進(jìn)入大家的視線,而本文作者將以技術(shù)整合的角度,帶大家把最火的兩個(gè)技術(shù)整合在一起,通過(guò)本文學(xué)習(xí)你將熟悉SpringBoot3.0自定stater模塊的操作流程,并熟悉OpenAi為chatGPT提供的49種場(chǎng)景,感興趣的朋友一起看看吧2022-12-12解決IDEA的maven項(xiàng)目中沒(méi)有新建Servlet文件的選項(xiàng)問(wèn)題
這篇文章主要介紹了IDEA的maven項(xiàng)目中沒(méi)有新建Servlet文件的選項(xiàng)問(wèn)題及解決方法,本文給大家分享問(wèn)題原因就解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09SpringCloud搭建Eureka服務(wù)模塊的過(guò)程
Eureka在分布式系統(tǒng)中起到了連接各個(gè)微服務(wù)的紐帶作用,使得服務(wù)之間的交互變得更加靈活、可靠,本文將深入探討如何使用Spring?Cloud,逐步引導(dǎo)讀者完成Eureka服務(wù)模塊的搭建,感興趣的朋友跟隨小編一起看看吧2024-02-02Java JDK與cglib動(dòng)態(tài)代理有什么區(qū)別
這篇文章主要介紹了Java JDK動(dòng)態(tài)代理和cglib動(dòng)態(tài)代理的區(qū)別文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-03-03SwiftUI中級(jí)List如何添加新內(nèi)容(2020年教程)
這篇文章主要介紹了SwiftUI中級(jí)List如何添加新內(nèi)容,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01