java io 字符流与字节流结构
来源:互联网 发布:淘宝李维斯代购 编辑:程序博客网 时间:2024/06/05 22:59
Java中的流分为两种:
1:字符流
输出
java.io.Writer(implement java.lang.Appendable,java.io.Console,java.io.Flushable)
其子类有:
java.io.BufferedWriter
java.io.CharArrayWriter
java.io.Filter
java.io.OutputStreamWriter
java.io.FileWriter
java.io.PipedWriter
java.io.PrintWriter
java.io.StringWriter
输入
java.io.Reader(implements java.io.Closeable,java.io.Readable)
java.io.BufferedReader
java.io.CharArrayReader
java.io.FilterReader
java.io.PushbackReader
java.io.InputStreamReader
java.io.FileReader
java.io.PipedReader
java.io.StringReader
2:字节流
输出
java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
java.io.ByteArrayOutputStream
java.io.FileOutputStream
java.io.FilterOutputStream
java.io.BufferedOutputStream
java.io.DataOutputStream (implements java.io.DataOutput)
java.io.PrintStream (implements java.lang.Appendable, java.io.Closeable)
java.io.ObjectOutputStream (implementsjava.io.ObjectOutput,java.io.ObjectStreamConstants)
java.io.PipedOutputStream
输入
java.io.InputStream (implements java.io.Closeable)
java.io.ByteArrayInputStream
java.io.FileInputStream
java.io.FilterInputStream
java.io.BufferedInputStream
java.io.DataInputStream (implements java.io.DataInput)
java.io.LineNumberInputStream
java.io.PushbackInputStream
java.io.ObjectInputStream (implements java.io.ObjectInput, java.io.ObjectStreamConstants)
java.io.PipedInputStream
java.io.SequenceInputStream
java.io.StringBufferInputStream
例子
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) { IoDemo io = new IoDemo(); // io.streamDemo(); //io.readerDemo(); io.breaderDemo(); } /** * 字节流 */ public void streamDemo() { FileInputStream fis = null; FileOutputStream fos = null; try { File inFile = new File("D:\\a.txt"); File outFile = new File("D:\\c.txt"); fis = new FileInputStream(inFile); fos = new FileOutputStream(outFile); byte[] buf = new byte[1024]; while ((fis.read(buf)) != -1) { fos.write(buf); } } catch (Exception e) { e.printStackTrace(); } finally { /* * if (fis != null) { try { if (fis != null) { fis.close(); } if * (fos != null) { fos.close(); } } catch (IOException e) { * e.printStackTrace(); } } */ } } /** * 字符流 */ public void readerDemo() { FileWriter fw = null; FileReader fr = null; try { fr = new FileReader("D:\\a.txt"); fw = new FileWriter("D:\\d.txt"); char[] buf = new char[1024]; int num = 0; while ((num = fr.read(buf)) != -1) { fw.write(buf, 0, num); } } catch (IOException e) { System.out.println(e.toString()); } finally { /* * try { fr.close(); fw.close(); } catch (IOException e) { * System.out.println(e.toString()); } */ } } /** * 带缓冲的字符流 */ public void breaderDemo() { FileReader fis = null; BufferedReader bfr = null; FileWriter fw = null; String readContent = ""; try { File file = new File("D:\\a.txt"); if (file.exists()){ String str = ""; fis = new FileReader(file); bfr = new BufferedReader(fis); while ((str = bfr.readLine()) != null) { readContent += str + " \r\n"; } fw = new FileWriter("D:\\b.txt"); fw.write(readContent); } else { System.out.println("文件:" + file.getName() + "不存在"); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (bfr != null) { bfr.close(); } if (fis != null) { fis.close(); } if (fw != null) { fw.close(); } } catch (Exception e) { System.out.println("关闭输IO流出错"); e.printStackTrace(); } } } }
- java io 字符流与字节流结构
- Java IO:字节流与字符流
- Java IO字符流与字节流
- JAVA IO-----字节流与字符流
- java IO流:字节与字符区别
- java IO流 字节流与字符流比较,区别
- Java IO流 字节流与字符流
- Java IO _字节流与字符流
- java IO操作:字节流与字符流区别
- 【JAVA IO】_字节流与字符流笔记
- 【JAVA IO】_字节流与字符流笔记
- java.io 字节流与字符流及简单实例
- java-IO-字节流与和字符流
- java IO (二)字符流与字节流
- Java IO——字节流与字符流
- java IO操作:字节流与字符流区别
- JAVA IO 之字节流与字符流
- java IO(File类、字节流与字符流、字节字符转换流)
- Mybatis mapper获取sql
- Spring MVC之@RequestMapping 详解
- 理解php Hash函数,增强密码安全
- CPU/ABI: No system images installed for this target
- Ubuntu安装rocksdb4.1 并使用 pyrocksdb测试连接成功
- java io 字符流与字节流结构
- org.junit.contrib.java.lang.system.SystemOutRule
- 年初订的计划都完成了吗?
- Qt5:QML:Invalid write to global property QML
- Spring中IOC和AOP的介绍
- 基于Android移动终端的微型餐饮管理系统的设计与实现4——Android基础
- Android中使用ViewFlipper实现屏幕切换
- 经典算法题--河内之塔
- JSP自定义标签