JAVA IO及文件操作拾遺

1:字節流和字符流區別

 

字節流InputStreamOutputStream的子類用於處理二進制數據,按字節處理。

字符流ReaderWriter 用於處理文本,即字符流

 

字節流和字符流之間通過InputStreamReaderOutputStreamWriter來關聯。實際上就是通過public String(byte bytes[], String charsetName)關聯。

 

InputStream  OutputStream  Reader  Writer  InputStreamReader OutputStreamWriter關係

 

public abstract class InputStream extends Object implements Closeable

 

public class FilterInputStream extends InputStream

 

public class BufferedInputStream extends FilterInputStream

 

public class FilterInputStream extends InputStream

 

public class InputStreamReader extends Reader

 

 

 

InputStream stderr = proc.getErrorStream();

InputStreamReader isr = new InputStreamReader(stderr);

BufferedReader br = new BufferedReader(isr);

 

常用方法

 

InputStream

 

Abstract int read() 讀取一個字節的數據,如果讀到流的結尾,返回-1

 

Int read(byte[] b) 將數據讀到一個字節數組返回讀取字符的實際數目

 

Int read(byte[] b,int off,int len) 與上一個相比,多了變異量和讀取最大字節數

 

Void close() 關閉輸入流

 

OutputStream

 

Abstract void write(int n) 寫入一個字節的數據

 

Void write(byte[] b) 寫入數組b的所有字節

 

Void write(byte[] b,int off,int len) 寫入數組b某一範圍中的數據

 

Void close() 刷新並關閉輸入流

 

Void flush() 刷新輸入流,將緩衝區中的所有數據發送到目的地。

 

 

 

壓縮

 

壓縮文件算法位於cn.com.javacore.io.file. ZIPTools

 

 

 

創建文件的步驟

 

           if(!folderFile.exists()){

              folderFile.mkdirs();

           }

           if(modelFile.exists()){

              if(!modelFile.delete())return null;

           }

           modelFile.createNewFile();

 

 

文件的常見操作

Boolean canRead() 文件是否可讀

 

Boolean canWrite() 文件是否可寫

 

Static Boolean createTempFile(String prefix,String suffix,File directory)

系統默認臨時目錄或者指定的目錄下創建一個臨時文件,使用給定的前綴和後綴生成臨時的名稱

 

Boolean delete() 刪除文件

 

Void deleteOnExit() 請求當虛擬機關閉時刪除文件

 

Boolean exists() 判斷文件或目錄是否存在

 

String getAbsolutePath() 返回一個包含絕對路徑的字符串

 

File getCannonicalFile() 返回一個包含文件規範的路徑名

 

String getName() 返回文件名

 

String getParent() 返回上級目錄

 

File getParentFile() 返回上級目錄

 

String getPath() 返回路徑名

 

Boolean isDirectory() 是否代表目錄

 

Boolean isFile() 是否代表文件

 

Boolean isHidden() 是否是一個隱藏文件或者目錄

 

Long lastModified() 返回上次修改時間

 

Long length() 返回文件以字節爲單位的長度

 

String[] list() 返回目錄下文件的名字數組

 

String[] list(FilenameFilter filter) 返回目錄下符合過濾器條件的文件名數組

 

File[] listFiles() 返回目錄下文件的數組

 

Static File[] listRoots() 全部可用文件的根目錄

 

Boolean createNewFile() 創建新文件

 

Boolean mkdir() 創建子目錄

 

Boolean mkdirs() 創建子目錄及所有上級目錄

 

Boolean renameTo(File dest) 修改文件名稱

 

Boolean setLastModified(long time) 設定上次修改時間

 

Boolean setReadOnly() 設定文件爲只讀

 

URL toURL() 轉化File對象到文件URL

 

Boolean accept(File dir,String name) 如果文件符合過濾器條件,就返回True

 

JDK1.4文件操作新特性

內存映射文件                   文件鎖定

 

其他

 

1:遞歸讀取目錄文件算法位置J2EELibcn.com.javacore.io.file. FindDirectories

2:參考 F:/學習資料/學習文檔/學習文檔/JAVA2核心技術第1.基礎知識7th.pdf

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章