黑马程序员——Java IO

来源:互联网 发布:大智慧股票软件mac 编辑:程序博客网 时间:2024/05/01 09:48
---------------------- 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
原创粉丝点击