黑马程序员_IO流学习笔记
2014-07-16 17:26
211 查看
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
常用API
输入流的基本类为:
Inputstream或Reader,里面都含有read()基本方法,用于读取单个字节或字节数组。可理解为往输入流里面读数据。
输出流的基本类为:
Outputstream或Writer,里面都含有write()基本方法,用于写单个字节或字节数组。可理解为往输出流里面写数据。
按流的类型的不同又分为字节流和字符流,字节流一般读取的是二进制文件如图片、视频、音频;而字符流一般读取的是文本文件,它包含unicode字符集,如txt。上述基本类中Inputstream、Outputstream操作的是字节流;Reader、Writer操作的是字符流。
样例:
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>
一、文件类
File类,如果是一个文件,它表示文件;如果是多个文件它表示目录。常用API
createNewFile
()
,创建一个空的文件。
delete
()
,删除文件。
exists
()
,判断文件或目录是否存在。
getAbsolutePath
()
,获取文件的绝对路径。
getName
()
,获取文件名称,包括文件扩展名。
listFiles
()
,如果是目录,则获取目录下所有文件。
mkdir
()
,新建目录。
isDirectory
()
,判断该文件对象是否为目录。
isFile
()
,判断该文件对象是否为文件。
例如:
package demo.test.io; import java.io.File; import java.io.IOException; publicclass FileDemo { publicstaticvoid main(String[] args) throws IOException{ Filedir=new File("E:\\test"); System.out.println("是否为目录:"+dir.isDirectory()); System.out.println("是否为文件:"+dir.isFile()); FilenewDir=new File("E:\\test\\aa"); newDir.createNewFile(); System.out.println("目录是否创建成功:"+newDir.exists()); System.out.println("目录是否删除成功:"+newDir.delete()); FilenewFile=new File("E:\\test\\a.txt"); newFile.createNewFile(); System.out.println("文件是否创建成功:"+newFile.exists()); System.out.println("文件是否删除成功:"+newFile.delete()); } }
二、IO流
1.定义
I/O流是对输入、输出设备之间数据传输的抽象。它代表任何有能力产出数据的数据源对象或者有能力接收数据的接收端对象。2.四个基本类
Java类库中的I/O类分为输入和输出两部分,共有四个基类。输入流的基本类为:
Inputstream或Reader,里面都含有read()基本方法,用于读取单个字节或字节数组。可理解为往输入流里面读数据。
输出流的基本类为:
Outputstream或Writer,里面都含有write()基本方法,用于写单个字节或字节数组。可理解为往输出流里面写数据。
按流的类型的不同又分为字节流和字符流,字节流一般读取的是二进制文件如图片、视频、音频;而字符流一般读取的是文本文件,它包含unicode字符集,如txt。上述基本类中Inputstream、Outputstream操作的是字节流;Reader、Writer操作的是字符流。
样例:
package demo.test.io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class IoDemo { public static void main(String[] args) throws IOException { /** * 演示字符流 */ // 文本文件 File fc = new File("F:\\用户名和密码.txt"); FileReader fr = new FileReader(fc); BufferedReader br = new BufferedReader(fr); File newFC = new File("F:\\aa.txt"); if (!newFC.exists()) { newFC.createNewFile(); } FileWriter fw = new FileWriter(newFC); BufferedWriter bw = new BufferedWriter(fw); while (br.read() != -1) { String str = br.readLine(); bw.write(str); bw.flush(); } fw.close(); fr.close(); if (fw != null) { fw = null; } if (fr != null) { fr = null; } /** * 演示字节流 */ File fb = new File("F:\\登陆页面.png"); FileInputStream fis = new FileInputStream(fb); BufferedInputStream bis = new BufferedInputStream(fis); byte[] buf = new byte[1024]; int len = 0; File newFB = new File("F:\\aa.png"); FileOutputStream fos = new FileOutputStream(newFB, true); BufferedOutputStream bos = new BufferedOutputStream(fos); while ((len = fis.read(buf)) != -1) { bos.write(buf, 0, len); bos.flush(); } bos.close(); fos.close(); bis.close(); fis.close(); if (fis != null) { fis = null; } if (fos != null) { fos = null; } } }
3.字符流和字节流的相互转化
有时我们必须把来自于“字节”层次结构中的类和“字符”层次结构中的类结合起来使用。为了实现这个目的,要用到“适配器(adapter)”类:InputStreamReader可以把InputStream转换成Reader,而OutputStreamWriter可以把OutputStream转换成Writer。---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>
相关文章推荐
- 黑马程序员_文件IO流部分疑点和JDK1.7版本后新try-catch处理学习笔记
- 黑马程序员---黑马IO流学习笔记
- 黑马程序员 JAVA学习笔记——IO流基础篇
- 黑马程序员-Java学习笔记之IO流(二)
- 黑马程序员 java学习笔记——IO流3
- 黑马程序员————小牛皮糖学习笔记————IO流之未使用缓冲区读写文件
- 黑马程序员_毕向东_Java基础视频教程第十八天-IO流---学习笔记
- 黑马程序员_基础_IO流学习笔记_字节流的学习
- 黑马程序员_学习笔记:13) IO流: 字节流(InputStream、OutputStream)、字符流(Reader、Writer)、File类、递归
- 黑马程序员--学习笔记(IO流一)
- 黑马程序员—18—java基础:有关IO流的学习笔记和学习心得体会
- 黑马程序员—Java基础学习笔记之IO流
- 黑马程序员——学习笔记09.Java_IO流
- 黑马程序员_基础_IO流学习笔记_File对象功能
- 黑马程序员 java学习笔记3-IO流之字节流与装饰设计模式
- 黑马程序员------IO流学习笔记(一)
- 黑马程序员_学习笔记第17天——IO流、字符流
- 黑马程序员--IO流的学习笔记(一)
- 黑马程序员-Java学习笔记之IO流(一)
- 黑马程序员 java学习笔记 Day5:IO流、字符流、字节流