IO流学习(一)
2014-12-11 20:53
127 查看
IO流学习(一)
IO流用于处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作数据的对象都砸死IO包中
流按操作数据分为两种:字节流和字符流
(ASCII是美国)
(GBK)中国自己定义的中文编码
(UNICODE)两字节,统一编码
(UTF-8)是对UNICODE的优化,有一字节,两字节和三字节
字符流是基于字节流的,里面有很多码表
流按流向分:输入流,输出流
字节流的抽象基类 InputStream和OutputStream
字符流的抽象基类 Reader和Writer
由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀
如:InputStream的子类FileInputStream
如:Reader的子类FileReader
字符流:
既然IO流是用于操作数据的,那么数据的最常见的体现形式是:文件
专门用于操作文件的Writer子类对象,FileWriter,后缀名是父类名,前缀是功能,它无空参数构造函数
public class FileWriterDemo {
public static void main(String[] args){
FileWriter fw = null;
try {
//创建一个FileWriter对象,关联到被操作的文件
//如果文件不存在,创建文件,如果文件已存在,文件内容就将被覆盖
// fw = new FileWriter("demo.txt");
//如果文件不存在,创建文件,如果文件已存在,文件内容附写在文件末尾处
fw = new FileWriter("demo.txt",true);
//调用write方法,将字符串写到流缓冲中
fw.write("hello world");
//刷新流的缓冲
fw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(fw != null){
//关闭流,关闭之前会刷新流缓冲,用完之后必须关闭
fw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
IO流用于处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作数据的对象都砸死IO包中
流按操作数据分为两种:字节流和字符流
(ASCII是美国)
(GBK)中国自己定义的中文编码
(UNICODE)两字节,统一编码
(UTF-8)是对UNICODE的优化,有一字节,两字节和三字节
字符流是基于字节流的,里面有很多码表
流按流向分:输入流,输出流
字节流的抽象基类 InputStream和OutputStream
字符流的抽象基类 Reader和Writer
由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀
如:InputStream的子类FileInputStream
如:Reader的子类FileReader
字符流:
既然IO流是用于操作数据的,那么数据的最常见的体现形式是:文件
专门用于操作文件的Writer子类对象,FileWriter,后缀名是父类名,前缀是功能,它无空参数构造函数
public class FileWriterDemo {
public static void main(String[] args){
FileWriter fw = null;
try {
//创建一个FileWriter对象,关联到被操作的文件
//如果文件不存在,创建文件,如果文件已存在,文件内容就将被覆盖
// fw = new FileWriter("demo.txt");
//如果文件不存在,创建文件,如果文件已存在,文件内容附写在文件末尾处
fw = new FileWriter("demo.txt",true);
//调用write方法,将字符串写到流缓冲中
fw.write("hello world");
//刷新流的缓冲
fw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(fw != null){
//关闭流,关闭之前会刷新流缓冲,用完之后必须关闭
fw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public class FileReaderDemo { public static void main(String[] args){ FileReader fr = null; try { //创建文件读取流对象,管理对象 fr = new FileReader("demo.txt"); //失败则返回-1,成功则返回读取的一个字符 //int c = fr.read(); //失败则返回-1,成功则返回读取的长度 char[] buf = new char[1024]; int len; while ((len = fr.read(buf))!=-1) { //不要用println System.out.print(new String(buf,0,len)); } } catch (IOException e) { e.printStackTrace(); }finally{ if (fr != null) { try { fr.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- 基础入门:关于JavaIO流学习总结
- IO流类学习--File
- 【转】关于Java IO流学习总结
- 黑马程序员 java学习笔记3-IO流之字节流与装饰设计模式
- 黑马程序员-学习-IO流
- 黑马程序员 java学习笔记4-Io流学习后可能会用到的实例
- JavaSE学习笔记--IO流和File
- Java学习---IO流的操作
- 黑马程序员 java学习笔记2-IO流
- IO流的学习
- Java IO流学习总结
- 【转】关于Java IO流学习总结
- IO流学习总结
- 关于Java IO流学习总结
- J2SE学习笔记--IO流
- 关于Java IO流学习总结
- java学习---文件IO流
- 今天继续学习了IO流
- 黑马程序员_毕向东_Java基础视频教程第十八天-IO流---学习笔记
- c++ io流 学习心得(一)