JAVA IO 流小结
来源:互联网 发布:json fromobject jar 编辑:程序博客网 时间:2024/04/28 16:58
字节流(InputStream,OutputStream)
字符流(Writer,Reader)
如是要复制一个文件,这个文件是一个文本文件话,则可以采用字符流各字节流都可以,否则只能用字节流,字节流复制文件常用的四种方式,
/* 方式一:一次读一个字节*private static void Method1() throws IOException { // TODO Auto-generated method stub File file = new File("d:\\src.txt"); FileInputStream fis = new FileInputStream(file); FileOutputStream fos = new FileOutputStream("d:\\des.txt"); int i = 0; while((i = fis.read()) != -1){ fos.write(i); } fis.close(); fos.close(); }
/** * 方式二:一次读写一个字节数组 * @throws Exception */ private static void Method2() throws Exception { // TODO Auto-generated method stub File file = new File("d:\\src.txt"); FileInputStream fis = new FileInputStream(file); FileOutputStream fos = new FileOutputStream("d:\\des.txt"); byte bytes[] = new byte[1024]; int len = 0; while((len = fis.read(bytes)) != -1){ fos.write(bytes, 0, len); } fis.close(); fos.close(); }
/**方式三: * 使用BufferedInputStream和BufferedOutputStream 一次读写取一个字节 * @throws Exception */ private static void Method3() throws Exception { // TODO Auto-generated method stub File file = new File("d:\\src.txt"); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\des.txt")); int i = 0; while((i=bis.read()) != -1){ bos.write(i); } bos.flush(); bis.close(); bos.close(); }
/** * 方式四: 使用BufferedInputream 和 BufferedOutputStream 一次读写一个字节数组 * @throws Exception */ private static void Method4() throws Exception { // TODO Auto-generated method stub // TODO Auto-generated method stub File file = new File("d:\\src.txt"); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\des.txt")); int len = 0; byte bytes[] = new byte[1024]; while ((len = bis.read(bytes)) != -1) { bos.write(bytes,0,len); } bos.flush(); bis.close(); bos.close(); }
以上就是字节流复制这件的四种方式
而使用字符流来复制这个文本文件的话,则有五种方式:
/** * 方式一:使用FileRead 和 FileWriter 一次读写一个字符 * @throws Exception */ private static void Method1() throws Exception { // TODO Auto-generated method stub File file = new File("d:\\src.txt"); FileWriter fw = new FileWriter("d:\\des.txt"); FileReader fr = new FileReader(file); int i; while((i = fr.read()) != -1){ fw.write(i); } fw.close(); fr.close(); }
/** * 方式三使用 BufferedReader 和 BufferedWriter (缓存技术) 一次读写一个字符 * @throws Exception */ private static void Method3() throws Exception { // TODO Auto-generated method stub File file = new File("d:\\src.txt"); BufferedReader br = new BufferedReader(new FileReader(file)); BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\des.txt")); int i = 0; while((i = br.read()) != -1){ bw.write(i); } bw.flush(); br.close(); bw.close(); }
/** * 方式四使用 BufferedReader 和 BufferedWriter (缓存技术) 一次读写一个字符数组 * @throws Exception */ private static void Method4() throws Exception { // TODO Auto-generated method stub // TODO Auto-generated method stub File file = new File("d:\\src.txt"); BufferedReader br = new BufferedReader(new FileReader(file)); BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\des.txt")); int len=0; char c[] = new char[1024]; while((len = br.read(c)) != -1){ bw.write(c, 0, len); } bw.flush(); br.close(); bw.close(); }
/** * 方式五使用 BufferedReader 和 BufferedWriter (缓存技术) 一次读写一行(以\r结末)数据 * @throws Exception */ private static void Method5() throws Exception { // TODO Auto-generated method stub File file = new File("d:\\src.txt"); BufferedReader br = new BufferedReader(new FileReader(file)); BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\des.txt")); String str=""; while((str = br.readLine()) != null){ bw.write(str);; bw.newLine(); } bw.flush(); br.close(); bw.close();
数据操作流:
DataInputStream /DataOutputStream
内存操作流:
ByteArrayInputStream
CharArrayInputStream
StringReader/StringWriter
和并流:
SequenceInputStream
序列化流:
ObjectInputStream
Properties
1 0
- java io流小结
- JAVA IO流小结
- java io流小结
- java IO流小结
- java io 流小结
- JAVA IO 流小结
- JAVA IO流小结003
- java:IO流学习小结
- Java IO流学习小结
- Java语言--IO流小结
- java:IO流学习小结
- java:IO流学习小结
- java:IO流学习小结
- java:IO流学习小结
- java:IO流学习小结
- java:IO流学习小结
- Java中IO流小结
- java:IO流学习小结
- 剑指Offer学习
- JSPatch
- 【Log4j】Jboss下配置log4j简记
- 数据库事务和隔离级别(重点,不可重复读和可重复度的区别)
- Atlas+Keepalived实现MySQL读写分离、读负载均衡
- JAVA IO 流小结
- 跟新数据库,不存在则插入
- Easyui 弹出加载中的遮罩的两种方法
- C语言基本数据类型简介
- Spring 系列: Spring 框架简介
- hdoj 1051 Wooden Sticks ( LIS_num )
- Redis C语言客户端库hiredis文档翻译
- 利用socket实现简单的文件传输小程序
- How to create a new component