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