java基础篇(六:I/O流——1)——基础知识
来源:互联网 发布:linux 即时通讯 编辑:程序博客网 时间:2024/06/07 21:20
引言
流有很多种,例如生活中的水流、车流,基本都是对象流动、传递、作用的一种方式。在IT界也包含一种流,我们称之为IO流,即输入输出流。
概述
Java IO 是一套Java用来读写数据(输入和输出)的API。用来从原始数据源的读取以及输出原始数据到目标媒介。
内容
一 分类
(1)数据流方向不同:输入、输出流
(2)数据处理单位不同:字节、字符流
(3)功能不同:节点、处理流
(4)四种抽象流:
二 常用的java IO类
三 实例:将文件中的数据输入到另一个文件中的步骤
1 首先创建文件,并且和需要操作的文件相关联,注意需要判断文件是否存在,否则会抛出异常,若文件不存在就重新创建一个文件。
2 读写文件一般使用字符流效率更高,即使用FileReader和FileWriter进行读写操作
3 创建FileReader对象用于读取文件中的数据,可以使用缓存流包装提高效率,创建一个BufferedReader对象:BufferedReader buffer= new BufferedReader(new InputStreamReader(new FileReader(file)));
4 创建FileWriter,同上使用缓存
5 代码实例:
import java.io.*;/** * Created by Administrator on 2017-10-11. */public class JavaIO { public static void progress(String originFilePath,String destinationFilePath)throws IOException{ //1 创建俩个文件对象并关联到文件 File originFile = new File(originFilePath); File destinationFile = new File(destinationFilePath); //2 声明IO流和缓存流 InputStreamReader inputStreamReader = null; OutputStreamWriter outputStreamWriter = null; BufferedReader bufferedReader = null; BufferedWriter bufferedWriter = null; //3 判断文件是否存在 if (!originFile.exists()){ try{ originFile.createNewFile(); }catch (IOException e){ e.printStackTrace(); } } if (!destinationFile.exists()){ try{ destinationFile.createNewFile(); }catch (IOException e){ e.printStackTrace(); } } //4 进行文件的复制 try{ //将源文件中的内容读取到缓存流读取对象中 bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(originFile),"ISO-8859-1")); //将目标文件对象放到缓存流写入对象中 bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(destinationFile),"ISO-8859-1")); //将原始文件的内容逐行写入目标文件 String line = null; while ((line=bufferedReader.readLine())!=null){ bufferedWriter.write(line); bufferedWriter.newLine(); } //将bufferedWriter对象写入目标文件中 bufferedWriter.flush(); }catch (IOException e){ e.printStackTrace(); }finally { //5 关闭所有流对象 if(inputStreamReader!=null){ try { inputStreamReader.close(); }catch (IOException e){ e.printStackTrace(); } } if(outputStreamWriter!=null){ try { outputStreamWriter.close(); }catch (IOException e){ e.printStackTrace(); } } if (bufferedReader!=null){ try { bufferedReader.close(); }catch (IOException e){ e.printStackTrace(); } } if(bufferedWriter!=null){ try { bufferedWriter.close(); }catch (IOException e){ e.printStackTrace(); } } } } public static void main(String[] args){ //声明俩个文件地址 String originFilePath = "E:\\a.txt"; String destinationFilePath = "E:\\b.txt"; System.out.println("将原始文件:" + originFilePath + "复制到目标文件:"+destinationFilePath); //文件复制 try{ progress(originFilePath,destinationFilePath); System.out.println("复制完毕"); }catch (IOException e){ e.printStackTrace(); } }}
总结
JavaIO流位于Java.io包中,javaIO流主要涉及文件,网络数据流,内存缓冲等的输入、输出。
- java基础篇(六:I/O流——1)——基础知识
- Java基础——I/O流
- java基础——I/O流
- java基础—I/O流
- Java基础——I/O流简介(待续)
- Java基础——I/O
- Java基础——I/O处理
- java基础——java I/O学习笔记1
- Java I/O 技术(六)—— 键盘录入 和 转换流
- 黑马程序员——Java基础--- I/O输入输出流
- Java基础08——I/O流<一>
- Java基础09——I/O流<二>
- 黑马程序员—java基础复习—I/O流
- java基础15(Javaoo10)——I/O操作
- python学习六—文件I/O
- java基础——java I/O学习笔记2
- java基础——java I/O学习笔记3
- java基础——java I/O学习笔记4
- 目录处理命令cd
- asp:RadioButtonList默认值
- FTP协议工作原理及总结
- 鸟哥私房菜 第九章 文件与文件系统的压缩与打包
- Building VBA Code(转)
- java基础篇(六:I/O流——1)——基础知识
- 【广告算法工程师入门 21】机制设计-机制的可表达性
- [Python] 网络设备巡检脚本
- Android WebView: 性能优化不得不说的事
- 存储过程之一—建立简单的存储过程
- HTML 音频和视频
- web安全之CSRF(XSRF)浅析
- 目录处理命令pwd
- Python:sorted 与 sort 的使用及区别