`
GreatExpectations
  • 浏览: 18008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA IO流学习总结----字节流

    博客分类:
  • java
阅读更多
何为IO流?形象点就如同水流一般,专业点讲它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出。
  按照操作单元划分,可以划分为字节流和字符流。字节流操作的单元是数据单元是8位的字节,字符流操作的是数据单元为16位的字符。

FileInputStream:字节输入流,指数据从磁盘读到计算机内存中。父类:InputStream
FileOutputStream:字节输出流,指数据从计算机内存写入到磁盘中。父类:OutputStream


1.FileInputStream应用:
  public void testFileRead() throws IOException{
File file = new File("E:\\java.txt");
FileInputStream fis = new FileInputStream(file);
int i = 0;
while((i = fis.read())!=-1){
System.out.print((char)i);
}
fis.close();
}

2.FileOutputStream 应用:
  public void testFileWrite() throws IOException{
File file = new File("E:\\java.txt");
String str = "123哈哈哈";
//建立通道,true  内容追加到文件中
FileOutputStream fos = new FileOutputStream(file,true);
//打开水龙头
fos.write(str.getBytes());
//关闭水龙头
fos.close();
}


3.通过字节流进行文件复制

思路:1.先通过FileInputStream 将文件内容读到内存
      2.再通过FileOutStream讲文件内容写入到目标磁盘
      3.关闭IO流
注:大文件可以通过BufferedInputStream和BufferedOutStream进行操作

例:拷贝2.21G的数据库文件,耗时77秒
public static void main(String[] args) throws IOException {
// 输入流:将数据库文件存到计算机内存中
FileInputStream fis = new FileInputStream("F:\\20190712.dmp");
BufferedInputStream bis = new BufferedInputStream(fis);

// 输出流 :将数据库文件从计算机内存 复制 到D盘
FileOutputStream fos = new FileOutputStream("D:\\20190712.dmp");
BufferedOutputStream bos = new BufferedOutputStream(fos);

byte[] buffer = new byte[2048];
int len = 0;
long startTime = System.currentTimeMillis(); // 获取开始时间
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
long endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("文件复制耗时:" + (endTime - startTime) / 1000 + "秒!");
// 关闭IO流:关闭原则 先关闭输入流 再关闭输出流
bis.close();
fis.close();
bos.close();
fos.close();

}
分享到:
评论

相关推荐

    javaio流学习总结-16页.pdf

    Java IO流学习总结 Java IO流是Java平台中用于处理输入输出的重要机制,它提供了一种在各种数据源和目的地之间传输数据的方式。流的概念是一个抽象的字节序列,允许我们从数据源读取数据或者向接收端写入数据。在...

    《JAVA_IO流学习总结》

    Java IO流分为两大类:字节流和字符流。字节流处理的是单个8位的字节,而字符流处理的是16位Unicode字符。每种流又有输入流和输出流之分,用于数据的读取和写入。 1. 字节流: - InputStream(输入流)和...

    Java学习IO流小结--字节流

    主要描述了常用字节流的用法,附上一些代码!

    Java IO commons-io-2.5.jar

    Java IO 包含了许多类,如InputStream、OutputStream、Reader、Writer等,它们分别用于处理字节流和字符流。字节流适用于二进制数据,而字符流适用于文本数据。Java IO 还包括Filter流,可以用来装饰其他流,添加...

    Java学习IO流小结--字符流

    IO流是Java语言中处理输入/输出的重要工具,它包括字节流和字符流两大类。本文将重点讨论字符流的相关概念及其用法。 #### 字符流简介 字符流主要用来处理文本数据,它是以字符为单位进行读写的流。字符流分为字符...

    javaio流学习总结.pdf

    JavaIO流学习总结 JavaIO流是Java语言中最基本的输入/输出机制,它提供了多种方式来读取和写入数据。下面是JavaIO流的学习总结。 一、 IO流的分类 IO流可以从不同的角度进行分类,包括: * 按流的方向分为:输入...

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    Java IO 字节流 字符流

    Java IO系统分为两大类:字节流和字符流。字节流主要用于处理任何类型的原始数据,如图片、音频文件或者二进制文件,而字符流则专注于处理基于文本的数据。本文将深入探讨这两类流的原理、用途以及它们之间的关联。 ...

    JavaIO流详细总结

    下面是对Java IO流的详细总结: 1. 流的概念: 流是一种抽象的数据传输方式,可以将数据从一个地方传输到另一个地方。Java中的流分为输入流和输出流,分别用于读取和写入数据。流按照处理数据的不同类型,又可以...

    Java IO流 总结

    字节流是Java IO流中最基本的流类型,可以处理一切类型的数据。字节流可以分为两种:输入流和输出流。 a) 输入流:InputStream InputStream是字节流的输入流,负责从外部世界输入数据到Java应用程序中。常用的...

    java-io流学习总结.doc

    Java IO 流学习总结的主要内容是对 Java 语言中 IO 流的机制和应用进行了详细的介绍,包括流的基本概念、字节流和字符流的区别、IO 体系的基本结构、FileReader 和 FileWriter 的使用、IO 流的应用等等。

    Java-Io流,练习

    1. 字节流:Java的`java.io`包中提供了处理字节流的类,如`InputStream`和`OutputStream`作为所有字节输入流和输出流的基类。它们的子类如`FileInputStream`和`FileOutputStream`分别用于文件的读写。 2. 字符流:...

    Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    Java IO流按照功能可以分为字节流和字符流,根据流向又分为输入流和输出流。字节流处理的是8位的字节,而字符流处理的是16位的Unicode字符。基础流类包括InputStream/OutputStream(字节流)和Reader/Writer(字符...

    JavaIO流学习总结报告.doc

    Java IO流主要分为两大类:字节流(Byte Stream)和字符流(Character Stream),并根据数据流向分为输入流(Input Stream)和输出流(Output Stream)。 1. **字节流与字符流的区别** - 字节流处理的是原始的字节...

    javaio流学习总结.docx

    以下是对Java IO流的详细总结: 一、流的分类 1. 按流的方向:Java IO流分为输入流(InputStream和Reader)和输出流(OutputStream和Writer)。输入流用于从数据源读取数据,而输出流则用于向目标位置写入数据。 ...

    javaio流学习总结范文.doc

    其次,根据处理数据的基本单位,Java IO流又分为字节流(Byte Stream)和字符流(Character Stream)。字节流处理数据的基本单位是字节,适用于所有类型的数据,包括二进制文件。字符流以字符为基本单位,主要用于...

    IO流 javaio java 流

    Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又可以进一步细分为输入流(InputStream/Reader)和输出流(OutputStream/Writer)...

    JAVA_IO流学习总结

    2. Java中的流对象及其特点:Java的IO库中定义了多种流对象,主要分为字节流和字符流两大类,它们又分别有输入流和输出流之分。字节流包括InputStream和OutputStream,字符流包括Reader和Writer。字节流适用于处理...

    javaIO流知识大总结

    在这个大总结中,我们将深入探讨Java IO流的基本概念、分类、常用类以及实践应用。 1. **基本概念** - **流(Stream)**:在Java中,流是一个抽象的概念,代表数据的有序序列。它可以是字节流或字符流,流向可以是...

Global site tag (gtag.js) - Google Analytics