`
guoyiqi
  • 浏览: 1018963 次
社区版块
存档分类
最新评论

FileInputStream和FileOutputStream

    博客分类:
  • java
阅读更多
java 代码
  1. public class FileStreamDemo {   
  2.   
  3.     public static void main(String[] args) {   
  4.   
  5.         try {   
  6.   
  7.             byte[] buffer = new byte[1024];   
  8.   
  9.             // 来源文件   
  10.   
  11.             FileInputStream fileInputStream =   
  12.   
  13.                 new FileInputStream(new File(args[0]));   
  14.   
  15.             // 目的文件   
  16.   
  17.             FileOutputStream fileOutputStream =   
  18.   
  19.                 new FileOutputStream(new File(args[1]));   
  20.   
  21.             // available()可取得未读取的数据长度   
  22.   
  23.             System.out.println("复制文件:" +   
  24.   
  25.                     fileInputStream.available() + "字节");   
  26.   
  27.               
  28.   
  29.             while(true) {   
  30.   
  31.                 if(fileInputStream.available() < 1024) {   
  32.   
  33.                     // 剩余的数据比1024字节少   
  34.   
  35.                     // 一位一位读出再写入目的文件   
  36.   
  37.                     int remain = -1;   
  38.   
  39.                     while((remain = fileInputStream.read())   
  40.   
  41.                                            != -1) {   
  42.   
  43.                         fileOutputStream.write(remain);   
  44.   
  45.                     }   
  46.   
  47.                     break;   
  48.   
  49.                 }   
  50.   
  51.                 else {   
  52.   
  53.                     // 从来源文件读取数据至缓冲区   
  54.   
  55.                     fileInputStream.read(buffer);   
  56.   
  57.                     // 将数组数据写入目的文件   
  58.   
  59.                     fileOutputStream.write(buffer);   
  60.   
  61.                 }   
  62.   
  63.             }   
  64.   
  65.             // 关闭流   
  66.   
  67.             fileInputStream.close();   
  68.   
  69.             fileOutputStream.close();   
  70.   
  71.             System.out.println("复制完成");   
  72.   
  73.         }   
  74.   
  75.         catch(ArrayIndexOutOfBoundsException e) {   
  76.   
  77.             System.out.println(   
  78.   
  79.                       "using: java FileStreamDemo src des");   
  80.   
  81.             e.printStackTrace();   
  82.   
  83.         }   
  84.   
  85.         catch(IOException e) {   
  86.   
  87.             e.printStackTrace();   
  88.   
  89.         }   
  90.   
  91.     }   
  92.   
  93. }   
  94.   
使用available(),然后读int而不是byte[].如果不使用read()和write(int)的方法,会将多出的byte[]写入目标文件。
分享到:
评论

相关推荐

    通过FileInputStream和FileOutputStream复制图片等非文本文件

    通过FileInputStream和FileOutputStream复制图片等非文本文件 通过FileInputStream和FileOutputStream复制图片等非文本文件 通过FileInputStream和FileOutputStream复制图片等非文本文件

    FileInputStream和FileoutputStream的使用语法和实例

    FileInputStream和FileoutputStream的使用语法和实例

    FileInputStream 和 FileOutputStream 介绍_动力节点Java学院整理

    FileInputStream 是文件输入流,它继承于InputStream。 通常,我们使用FileInputStream从某个文件中获得输入字节。 FileOutputStream 是文件输出流,它继承于OutputStream。 通常,我们使用FileOutputStream 将数据...

    Java中的FileInputStream 和 FileOutputStream 介绍_动力节点Java学院整理

    Java中的`FileInputStream`和`FileOutputStream`是用于处理文件输入和输出操作的基本类,它们分别继承自`InputStream`和`OutputStream`。这两个类在Java I/O系统中扮演着核心角色,提供了对文件进行字节级读写操作的...

    【IT十八掌徐培成】Java基础第13天-04.字节流-FileInputStream-FileOutputStream.zip

    本课程由IT十八掌徐培成讲解,重点介绍了Java基础中的字节流操作,特别是`FileInputStream`和`FileOutputStream`这两个核心类的使用。 `FileInputStream`和`FileOutputStream`是Java.io包下的核心类,它们分别代表...

    JAVA IO流文件读写大全下载

    * 字节流文件移动和读取:通过FileInputStream和FileOutputStream类可以实现文件的移动和读取操作。 * 字符流文件移动和读取:通过FileReader和FileWriter类可以实现文本文件的移动和读取操作。 6. 文件读取和存盘...

    Java二进制IO类与文件复制操作实例.zip

    它们的子类如FileInputStream和FileOutputStream分别用于从文件读取和写入数据。 1. FileInputStream和FileOutputStream:这两个类是最基本的文件操作类,用于读取和写入文件。FileInputStream从文件中读取字节,而...

    FileStreamReadWrite FileInputStream FileOutputStream 简单示例

    File read write FileInputStream FileOutputStream 简单示例

    深入解析Java编程中面向字节流的一些应用

    文件输入输出流(FileInputStream 和 FileOutputStream)是Java中最基础的字节流类,它们用于读取和写入本地磁盘文件。例如,程序`ep10_5`展示了一个简单的例子,通过FileInputStream从标准输入读取字符,直到遇到字符...

    java初学自学ppt教程 7

    在学习过程中,务必理解并熟练掌握上述知识点,通过实例练习来巩固,如使用FileInputStream和FileOutputStream读写文件,以及使用BufferedInputStream和BufferedOutputStream优化文件操作。在处理异常时,要正确使用...

    Java文件剪切.pdf

    在复制过程中,我们使用FileInputStream和FileOutputStream类来读取和写入文件。 copyDirectory方法 copyDirectory方法用于复制文件夹。该方法首先判断源文件夹是否存在,如果不存在则返回false。如果存在,则遍历...

    Java教程之javaIO详解

    FileInputStream 的主要方法有 read 和 close,而 FileOutputStream 的主要方法有 write 和 close。 示例代码: ```java FileOutputStream fos = new FileOutputStream("F:\\1.txt"); fos.write("women".getBytes...

    Java中文件IO流.pdf

    然后,我们使用 FileInputStream 和 FileOutputStream 创建了输入流和输出流对象,并对文件执行读取和写入操作。最后,我们使用 close() 方法关闭了输入流和输出流对象。 在 Java 中,文件 IO 流操作是非常重要的,...

    java_spliter.zip_java split_java spliter_分割文件

    Java I/O库提供了许多类来处理不同类型的流,例如FileInputStream和FileOutputStream用于与文件交互,BufferedReader和PrintWriter用于文本数据的读写,以及DataInputStream和DataOutputStream用于处理原始字节。...

    Java输入输出(IO)和流的基本概念-Java教程共2页

    9. 文件复制:在Java中,文件复制通常使用FileInputStream和FileOutputStream配合BufferedInputStream和BufferedOutputStream实现,通过循环读取和写入,实现高效的数据迁移。 10. 异常处理:在进行IO操作时,需要...

    java IO流精讲 JAVA IO流实例开发

    例如,FileInputStream和FileOutputStream分别代表文件的输入流和输出流,用于读写文件。 其次,根据处理的数据类型,IO流又分为字节流和字符流。字节流处理原始的8位字节数据,如FileInputStream和...

    java输入输出流,电子课件

    例如, FileInputStream 和 FileOutputStream 分别用于读写文件的字节流,而 FileReader 和 FileWriter 则用于读写文件的字符流。 9.1.2 输入输出流类 Java提供了多种输入输出流类,例如: - FileInputStream 和 ...

    用流FileInputStream FileOutputStream 实现文件复制

    Java中FileInputStream FileOutputStream 实现文件复制

    Java文件处理的核心方法与应用场景解析

    本篇内容介绍了Java文件处理的核心类,包括File类、FileReader和FileWriter、BufferedReader和BufferedWriter、FileInputStream和FileOutputStream以及PrintWriter等。通过这些类,开发者能够高效地操作文本文件和二...

    Java流和文件总结(二)

    例如,FileInputStream和FileOutputStream分别用于读取和写入文件的字节数据。字符流包括Reader和Writer,如FileReader和FileWriter,它们专门处理字符序列。 Java的流有四个基本类型:字节流、字符流、输入流和...

Global site tag (gtag.js) - Google Analytics