JAVA IO 流小结
2016-08-11 12:05
309 查看
字节流(InputStream,OutputStream)
字符流(Writer,Reader)
如是要复制一个文件,这个文件是一个文本文件话,则可以采用字符流各字节流都可以,否则只能用字节流,字节流复制文件常用的四种方式,
以上就是字节流复制这件的四种方式
而使用字符流来复制这个文本文件的话,则有五种方式:
数据操作流:
DataInputStream /DataOutputStream
内存操作流:
ByteArrayInputStream
CharArrayInputStream
StringReader/StringWriter
和并流:
SequenceInputStream
序列化流:
ObjectInputStream
Properties
字符流(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
相关文章推荐
- java.nio(新IO)小结:
- 流 JAVA IO 基本小结 通过一行常见的代码讨论:new BufferedReader(new InputStreamReader(System.in))
- java IO回想小结
- 【JAVA基础】 IO操作小结——节点流和处理流
- JAVA的IO操作小结
- JavaIO知识小结和操作规律
- java IO学习小结
- java IO回顾小结
- java io输入输出流小结
- java.io小结
- Java IO小结
- java IO 学习小结之输入流InputStream
- Java IO 小结
- 流 JAVA IO 基本小结 通过一行常见的代码讨论:new BufferedReader(new InputStreamReader(System.in))
- Java.io小结:
- 黑马程序员----JAVA----IO小结(3)
- java学习之【转载】java io小结
- Java中IO小结
- java.io小结