黑馬程序員——Java IO

---------------------- android培訓java培訓、期待與您交流! ----------------------

IO部分知識總結:

IO流用來處理設備之間的數據傳輸

Java對數據的操作時通過流的方式

Java用於操作流的對象都在IO包中

流按流向分爲:輸入流,輸出流。

 

字節流:

基類:                   InputStream                                       OutputStream

常用:                   FileInputStream                                FileOutputStream

緩衝區:               BufferedInputStream                        BufferedOutputStream

 

字符流:              Reader                                                Writer

用:                  FileReader                                         FileWriter

緩衝區:              BufferedReader                                BufferedWriter

 

 

字節流對象轉換成字符流對象,使用轉換流:  InputStreamReader                OutputStreamWriter

 

 

常用代碼舉例:

 

BufferedReader   bufr  =

                  new  BufferedReader(  new  InputStreamReader ( System.in ) )

BufferedWriter     bufw  =

                  new  BufferedWriter(   new  OutputStreamWriter( System.out ) )

String Line = null;

while((line = bufr.readLine())!=null)

{    if("over".equals(line))   break;

     bufw.write(( line.toUpperCase()  ));

     bufw.newLine();

     bufw.flush();

}

 

FileReader fr = new FileReader("1.dext");

int ch = 0;

while( (ch = fr.read())!= -1 )

{

  System.out.println(   (char)ch  )

}

fr.close();

 

Char[  ]  buf =  new  char[ 1024]

int  num = 0;

while( ( num=fr.read( buf ) )!-1 )

{

System.out.println( new String (buf,  0,  num ))

}

fr.close();

 

fw = new FileWriter("SystemDemo.copy.txt")

fr = new FileReader ("SystemDemo.java")

char[ ] buf = new char[1024]

int num =0;

while( (num = fr.read(buf ))!=-1)

{

fw.write(new String  (buf, 0, num))

}

 

 

BufferedWriter

緩衝區的出現是爲了提高劉的操作效率出現的

所以在創建緩衝區之前,必須要先有流對象。

該緩衝區中提供了一個跨平臺的換行符 newLine( )

 

BufferedReader

字符讀取流緩衝區

該緩衝區提供了一個一次讀一行的方法readLine( ),方便對文本數據的獲取,當

返回null時,表示讀到文件末尾

readLine方法返回的時候只返回回車符之前的數據內容,並不返回回車符。

 

 

File類常見方法

1.創建

boolean createNewFile()

在指定位置創建文件,如果該文件已經存在,則不出創建,返回false.

boolean mkdir()創建文件夾

 2.刪除

boolean delete()

刪除失敗返回false,如果文件正在被使用,則刪除不了,返回false

void delte onExit()  在程序退出時刪除指定文件。

 

3.判斷

boolean exist( ): 文件是否存在

isFile()

isHidden()

isAbsolute()

 

4.獲取信息

getName()

getPath()

getParent()

getAbsolutePath()

long lastModified();

long length();

 

 

打印流

該打印流提供了打印方法,可以將各種數據類型的數據都原樣打印

 

字節打印流

printStream

構造函數可以接收的參數類型

1.file 對象 File

2.字符串路徑 String

3.字節輸出流 OutputStream

 

字符打印流

PrintWriter

構造函數可以接收的參數類型

1.file對象 File

2.字符串路徑 String

3.字節輸出流 OutputStream

4.字符輸出流 Writer

 

BufferedReader  bufr =

            new BufferedReader ( new InputStreamReader (System.in) )

PrintWriter out = new PrintWriter( new FileWriter(" a.txt "))

String  line = null;

while ( ( line = bufr.readLine( ) )! = null  )

{

  if ( "over".equals(line) )  break;

  out.println( line.toUpperCase());

}

Out.close();

bufr.close();

 

 

編碼:字符串變成字節數組

 

解碼:字節數據變成字符串

 

String--->  byte[ ] : str.getBytes(charsetName );

 

byte[ ]----> String :  new String (byte[ ],charsetName )

---------------------- android培訓java培訓、期待與您交流! ----------------------詳細請查看:http://edu.csdn.net/heima
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章