您的位置:首页 > 编程语言 > Java开发

Java之IO初识

2013-12-25 13:07 260 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

IO流:数据传输的中转站 源————>IO流————>目的地

IO流一般都是成对出现,也就是按照流向分为:输入流和输出流

IO流按照操作的对象来分:字节流和字符流


一、字符流

基类:Reader(读)、Writer(写)

|-Reader

|--BufferedReader:对Reader进行了包装,提供了缓冲区(8192),有readLIne方法

构造函数:BufferedReader(Reader r)

|--InputStreamReader:转换流,将字节流转成字符流new InputStreamReader(InputStream in)

|---FileReader:读取文件的字符流,FileReader(File file),FileReader(String fileName)

|-Writer

|--BufferedWriter:包装类,常用方法:write(String s)、flush、newLine(),

BufferedWriter(Writer w)

|--OutputStreamWriter:转换流,OutputStreamWriter(OutputStream out)

|---FileWriter:写入文件,FileWriter(File file),FileWriter(String fileName)

FileWriter(File file,boolean append),FileWriter(String fileName,boolean append)

当append值为true时,将写入文件的末尾处,当为False时,从文件开头开始写,就会覆盖原来的。

二、字节流

|-InputStream(输入流)

|--FileInputStream:读取文件的字节流,和FIleReader用法基本一样。

|--FilterInputStream:过滤流,一般不使用,只是对InputStream的简单包装

|---BufferedInputStream:包装类,BufferedInputSteam(InputStream in),提供了缓冲区

|-OutputStream(输出流)

|--FileOutputStream

|--FilterOutputStream

|---BufferedOutputStream

三、使用IO流必须要捕获异常,原因在于我们必须要还资源(关闭流)。

FileWriter fw = null;

try{

fw = new FileWriter(new File());

fw.write("a");

}

catch(IOException e)

{

e.printStackTrace();//异常类名、异常信息、详细错误信息

System.out.println(e.toString());//异常类名、异常信息

System.out.println(e.getMessage());//异常信息

}

finally

{

try{if(fw!=null)fw.close();}catch(IOException e){e.printStackTrace();}

}


四、File文件类

1、构造方法:

File(File parent, String child)

根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

File(String pathname)

通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

File(String parent, String child)

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。


五、RandomAccessFile:文件流,可以读写

1、RandomAccessFile(File file,String mode)、RandomAccessFile(String fileName,String mode)

mode:r,只读;rw,读写

2、有很多read和write方法。

seek方法:指定从哪个位置开始读写

skipBytes(int n):跳过多少个字节


六、PrintStream、PrintWriter打印流

有一个特殊的方法print可以实现打印

write方法是直接将字节和字符写出去

print:首先调用对象的toString方法转成字符串(如果是基本数据类型,会先自动装箱)

再将字符串编码成字节数组,调用write方法写出去


我的总结:IO就是指应用程序对外部设备的数据输入输出

----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: