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