赞
踩
目录
万能流:任何类型的文件都可以采用该流(输入流或输出流)来读或写
首先,文件?File?对文件进行操作?以什么样的形式?
是对文件和目录的本身进行操作,不能对文件内容操作。
它完成的操作是:
创建文件,删除文件,判断·某个文件或目录是否存在,获取文件的长度等。
是对文件里的内容进行读和写操作。
文件字节输入流:java.io.FileInputStream
继承自InputStream的流,以字节的方式读取文件的内容
文件字节输入流:java.io.FileOutputStream
继承自OutputStream的流,以字节的方式将内容写入文件
注:1个字节 = 8个二进制位
文件是存储在硬盘中的,而程序是运行在内存中的。
输入流:从硬盘读取到内存中
输出流:从内存写入到硬盘中
java.io.FileInputStream类
java.io.FileOutputStream类
1)当创建FileInputStream流对象时,出现文件路径或文件对象错误时,会引发FileNotFoundException异常;
2)而FileOutputStream 的创建不依赖于文件是否存在,如果没有这个文件,会新建该文件;但是需要注意的是,当该文件的父级目录不存在时,会报FileNotFoundException;如果打开只读文件的话,会报IOException异常。
- package cn.sz.gl.test05;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
-
- public class Test {
-
- public static void copyFileByStream(File source, File target) {
- // 判断源文件是否存在,如果不存在,就退出程序
- if (!source.exists()) {
- System.out.println("源文件不存在,程序退出");
- System.exit(0);
- }
- // target.getParentFile()表示用来获取目标对象的父目录对象
- // 如果目标文件路径不存在,就创建
- if (!target.getParentFile().exists()) {
- target.getParentFile().mkdirs();
- }
-
- InputStream is = null;
- OutputStream os = null;
-
- try {
- // 准备输入流
- is = new FileInputStream(source);
- // 准备输出流
- os = new FileOutputStream(target);
- // 准备一个数组,用来存放读写的数据
- byte[] b = new byte[1024];
- int len = 0;
- // read(b)实现读取操作,数据存入b数组,返回读取长度给len,当所有内容都读取完毕,len=-1
- while ((len = is.read(b)) != -1) {
- // 实现写的操作
- os.write(b, 0, len);
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (is != null) {
- is.close();
- }
- if (os != null) {
- os.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- }
-
- // 将source文件对象的内容读出来,同时完成将读出来的内容写入的target文件对象中
- public static void main(String[] args) {
- File source = new File("D:\\java\\Java高级\\myfile\\a.txt");
- File target = new File("D:\\java\\Java高级\\myfile\\b.txt");
- copyFileByStream(source, target);
- }
- }
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。