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

Java_I/O流_总结

    博客分类:
  • Java
阅读更多

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象

 

一开始需要注意的就是,流所处理的参照中心始终是程序这里写图片描述

 

 

 

Java流类图结构:

这里写图片描述

 

字节流和字符流所处理的问题有所区别,字节流是以 8bits 为单位处理问题,而在Java中,字符流处理的最基本的单元是Unicode码元,其大小为 16bits。

 

设备上的数据无论是图片或者视频,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据。

 

 

结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

 

一)输入输出流:

输入流只能进行读操作,输出流只能进行写操作:

  • 输入流:InputStream或者Reader:从文件中读到程序中;
  • 输出流:OutputStream或者Writer:从程序中输出到文件中;

 

二)结点流:

直接与数据源相连,读入或读出,但直接使用节点流,读写不方便,这是由于每当处理一次,就会直接进行一次访存,这样频繁的处理必然会降低CPU的效率,于是增加了处理流。

 

 

三)处理流:

这里写图片描述

所谓处理流,是指在以结点为基础之上,增加了一个缓冲区,可以将其视为一个黑箱或管道,里面包含了若干功能(1.缓冲功能,避免频繁读写硬盘 2.实现字节流和字符流之间的转换 3.将基础数据类型写入/读出到文件中)

 

 

四)转换流:

实现从字节流到字符流的转换。

 

从文件中读取内容:

import java.io.*;

public class Demo {
    public static void main(String[] args) throws IOException {

        String filename = "Demo.txt";
        BufferedReader buff = new BufferedReader(new FileReader(filename));

        String line;
        while ((line = buff.readLine()) != null) {
            System.out.print((line));
        }

        buff.close();
    }
}

 

 从程序中写入至文件:

import java.io.*;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) throws IOException {

        String filename = "Demo.txt";
        BufferedWriter buff = new BufferedWriter(new FileWriter(filename));

        Scanner in = new Scanner(System.in);
        System.out.println("Write something: ");

        String str = in.nextLine();
        buff.write(str);
        
        in.close();
        buff.close();
    }
}

 

 

分享到:
评论

相关推荐

    java对I/O流的处理

    Java中的I/O流处理是程序与外部设备交互数据的关键机制,包括从文件、网络、内存等数据源读取数据和向这些目标写入数据。I/O流系统在Java的`java.io`包中被实现,提供了丰富的类和接口来支持各种类型的流操作。 **I...

    java数据流 I/O系统

    在Java中,I/O操作是通过数据流的概念来实现的。 数据流的基本概念涉及数据的流动方向和组织层次。数据流可以分为输入数据流和输出数据流,前者只能读取数据,后者只能写入数据。在Java中,`java.io`包提供了这些...

    java I/O流总结

    这是一篇关于javaSe的基础班关于IO流的全套总结,希望能对你的基础学习有所帮助。

    JAVA_IO/NIO(demo,压缩jar文件)

    `io`标签代表传统的Java I/O API,而`nio`标签则代表了Java的新一代I/O API,这两个API在不同场景下各有优势。 **Java IO API** Java IO API自Java 1.0起就存在,主要由`java.io`包中的类组成,如`File`, `...

    java I/O类的使用

    总结起来,Java I/O类库提供了广泛且灵活的工具,用于处理各种输入和输出需求。开发者可以根据具体需求选择合适的类和装饰器,构建出满足特定场景的输入输出系统。理解并熟练运用这些类和模式对于任何Java开发者来说...

    Java I/O总结

    1. **流的层次结构**:Java I/O流按照功能的不同分为基本流和高级流。基本流如`FileInputStream`、`FileOutputStream`等,主要用于直接与设备交互;高级流如`BufferedReader`、`PrintWriter`等,则是在基本流的基础...

    java i/o 实例 编程 学习 教程 复习

    Java I/O(输入/输出)是 Java 编程语言中处理数据流的核心技术之一。通过 I/O,我们可以读取文件、网络数据等外部资源,并将程序产生的数据写入到文件或网络等地方。Java 的 I/O 主要分为两大类:`InputStream` 和 ...

    Java知识点总结大全(五) -- IO流.xmind

    Java知识点总结大全(五) -- io流,关注后面会分享面向对象,io,集合,多线程,网络,sql的总结

    Java文件I/O操作:读取与写入文件的全面指南

    ### Java文件I/O操作:读取与写入文件的全面指南 #### 一、引言 文件I/O(输入/输出)是编程中的一项基本技能,尤其是在处理数据持久化和系统交互时。Java提供了丰富的API来支持文件的读取和写入操作。本文将详细...

    java i/0习题

    Java I/O(输入/输出)是Java编程语言中不可或缺的一部分,它允许程序与外部资源进行数据交换,如文件、网络连接、系统...在学习过程中,不断实践和总结,理解不同流类的特性和适用场景,是提升Java I/O技能的关键。

    基于I/O流设计的图书馆管理系统

    这个是我基于I/O流设计的图书馆管理系统项目总结,是有篇文章的,如果实在不会整再来下载这个完整的。文章:https://blog.csdn.net/GB__LaoWang/article/details/115914058

    Java I/O 使用和最佳实践

    Java I/O系统是Java编程语言中的一个核心组成部分,它提供了处理输入输出操作的类和接口。这个系统的设计目的是为了使得应用程序能够与外部世界交互,包括读取和写入文件、网络数据、标准输入输出流等。在Java中,I/...

    java基础知识I/O流使用详解

    总结一下,Java的I/O流系统是复杂而强大的,它包括字节流和字符流,以及结点流和过滤流。理解和熟练使用这些类,可以帮助你高效地处理各种数据输入输出任务。在实际编程中,可以根据需求选择合适的流类型,并利用...

    android 查找程序根目录下所有文件 java i/o与ListActivity的结合

    总结起来,通过结合Java的I/O流遍历文件和Android的ListActivity,我们可以实现查找并显示应用程序根目录下所有文件的功能。在实际开发中,还需要考虑权限管理(特别是对于Android 6.0及更高版本),以及对不同设备...

    java常用技术 I/O 反射 XML等

    Java是一种广泛使用的编程语言,其I/O...总结来说,Java的I/O、反射、XML处理和JVM等技术提供了强大的工具,帮助开发者构建高效、可扩展和安全的应用程序。熟悉并熟练运用这些技术,可以显著提升开发效率和代码质量。

    Java_IO操作总结

    在这个总结中,我们将深入探讨Java I/O的几个关键知识点。 首先,我们要理解I/O的基本概念。I/O,即Input/Output,指的是计算机系统与外部设备之间交换数据的过程。在Java中,I/O操作主要涉及到java.io包中的类和...

    基于Java的socket I_O流技术.pdf

    Java网络编程中的Socket I/O流技术是一门关键技术,其涉及到网络数据的传输、服务器和客户端的交互,以及如何高效地利用资源。在传统的BIO(Blocking I/O)技术中,服务器为了处理每个客户端的请求,都必须为每个...

Global site tag (gtag.js) - Google Analytics