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培训、期待与您交流! ----------------------
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培训、期待与您交流! ----------------------
相关文章推荐
- JAVA IO初识
- java IO 初识
- Java——设计模式(装饰模式_IO)
- Java之IO,BIO,NIO,AIO知多少?
- Java IO和Java NIO在文件拷贝上的性能差异分析
- Java中的IO系统
- java之IO
- java中的io系统详解
- Java IO: ByteArrayInputStream
- JAVA IO NIO
- Java NIO:浅析IO模型_动力节点Java学院整理
- java IO-节点流和缓冲流性能对比
- 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法
- CoreJava学习7——IO之文件操作
- CORE JAVA (十) 之 IO
- java.io包的总体框架结构
- Java IO学习1:字节流与字符流
- JAVA IO完全总结
- 【Java】【IO】JAVA IO And NIO
- Java IO