关键词搜索

源码搜索 ×
×

Java 读取多个文件流合并操作

发布2016-02-04浏览10604次

详情内容

       在Java IO编程中还有很多值得我们学习的地方,很多时候我们都不太注重基础知识的积累;工作越久越感觉没有新意,说明我们错误地高估了自己,如果给你一个没有网络的办公环境,你怎么正常开展自己的工作,这是一个值得思考的问题,我们对网络太过于依赖,以至于懒得去记忆。下面要说的是SequenceInputStream的使用。春节回家,在这里做一个标注以便节后继续研究。

给大家推荐一个Java IO编程的阅读地址http://tutorials.jenkov.com/java-io/index.html

  1. package com.boonya.io;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.SequenceInputStream;
  7. import java.util.Vector;
  8. public class IOSequenceInputStream {
  9. public static void main(String[] args) {
  10. IOSequenceInputStream io=new IOSequenceInputStream();
  11. //io.sample();
  12. io.advance();
  13. }
  14. public void sample() {
  15. InputStream input1;
  16. InputStream input2;
  17. SequenceInputStream sequenceInputStream = null;
  18. try {
  19. input1 = new FileInputStream("c:\\data\\file1.txt");
  20. input2 = new FileInputStream("c:\\data\\file2.txt");
  21. sequenceInputStream = new SequenceInputStream(input1, input2);
  22. int data = sequenceInputStream.read();
  23. while (data != -1) {
  24. System.out.println((char)data);
  25. data = sequenceInputStream.read();
  26. }
  27. } catch (FileNotFoundException e) {
  28. // TODO Auto-generated catch block
  29. e.printStackTrace();
  30. } catch (IOException e) {
  31. // TODO: handle exception
  32. } finally {
  33. if (sequenceInputStream != null) {
  34. try {
  35. sequenceInputStream.close();
  36. } catch (IOException e) {
  37. // TODO Auto-generated catch block
  38. e.printStackTrace();
  39. }
  40. }
  41. }
  42. }
  43. public void advance() {
  44. SequenceInputStream sequenceInputStream=null;
  45. try {
  46. InputStream input1 = new FileInputStream("c:\\data\\file1.txt");
  47. InputStream input2 = new FileInputStream("c:\\data\\file2.txt");
  48. Vector<InputStream> streams = new Vector<InputStream>();
  49. streams.add(input1);
  50. streams.add(input2);
  51. sequenceInputStream = new SequenceInputStream(streams.elements());
  52. int data= sequenceInputStream.read();
  53. while(data != -1){
  54. System.out.println((char)data);
  55. data = sequenceInputStream.read();
  56. }
  57. sequenceInputStream.close();
  58. } catch (FileNotFoundException e) {
  59. // TODO Auto-generated catch block
  60. e.printStackTrace();
  61. } catch (IOException e) {
  62. // TODO Auto-generated catch block
  63. e.printStackTrace();
  64. }finally{
  65. if (sequenceInputStream != null) {
  66. try {
  67. sequenceInputStream.close();
  68. } catch (IOException e) {
  69. // TODO Auto-generated catch block
  70. e.printStackTrace();
  71. }
  72. }
  73. }
  74. }
  75. }




相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载