`

java学习之流的学习

阅读更多
因为经常用到流,并且发现java中的数据流的确很多种类,而自己只知道常用的输入输出流,好多都不知道,且好多也不知道怎么用,于是在网上找了些资料
先是从百度经验中找到的一片关于流的使用技巧,觉得还是蛮不错的,分析的很透彻,这里就记下来:

方法/步骤:
第一步:首先明确IO流中有2个主要体系,字节输入(InputStream)输出流(OutputStream)和字符输入(Reader)输出流(Writer).
第二步:明确数据的来源和数据的目的地,如果数据的来源是纯文本那么就用Reader,不是纯文本选择InputStream.如果数据的目的地是纯文本就用Writer不是纯文本就用OutputStream
第三步:明确具体的设备.即数据源是从哪个设备来的,是硬盘就用File;是键盘就用System.in(是一个InputStream对象);是内存用数组,是网络的话用Socket流.同样目的地是什么设备,是硬盘就用File;键盘就用System.out(OutputStream对象);是内存用数组,网络用Socket.
第四步:明确是否还需要加其他额外的功能.①是否要较高的效率,即是否需要加缓冲区Buffered.②是否需要转换,是的话就需要转换流,也常称过滤流InputStreamReader和OutputStreamWriter
通过上面的步骤,基本可以确定用哪个类了,下面就是举出2个例子,如下:

需求1:复制一个文本文件
1.明确体系
  源:InputStream Reader
目的:OutputStream Writer
2.明确数据
  源是纯文本 ? Reader : InputStream
目的是纯文本 ? Writer : OutPutStream
3.明确设备
  源文件是硬盘上的一个文件:FileReader fr = new FileReader("a.txt")
目的文件是硬盘上的一个文件:FileWriter fw = new FileWriter("b.txt")
4.需要额外功能吗
  需要,高效 使用 
  BufferedReader br = new BufferedReader(new FileReader("a.txt"));
  BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));



需求2:读取键盘录入,将内容存储到文件中
1.明确体系:
  源:InputStream Reader
目的:OutputStream Writer
2.明确数据:
  源是否是纯文本?Reader:InputStrean
目的是否是纯文本?Writer:OutputStream
3.明确设备
  源:键盘 InputStream is= System.in
目的:文件 FileWriter fw = new FileWriter("b.txt");
4.需要额外功能吗
  需要,因为源体系是Reader,而设备是System.in(InputStream的对象),所以需要转换过滤流(InputStreamReader)
  InputStreamReader isr = new InputStreamReader(System.in);
  FileWriter fw = new FileWriter("a.txt");
 需要高效吗?
 需要:BufferedReader br =  new BufferedReader(new InputStreamReader(System.in))
      BufferedWriter bw =  new BufferedWriter(new FileWriter('b.txt'))


以上就是关于具体用到什么流的一种方式,借鉴来的,做次记录, 觉得这个步骤还是很不错的

下面IO流的体系结构图:





先记录多!上班做事了

  • 大小: 94 KB
  • 大小: 54.2 KB
分享到:
评论

相关推荐

    Java学习之路

    Java学习的第一步通常是了解基本语法,包括数据类型(如整型、浮点型、字符型、布尔型)、变量、运算符、流程控制语句(如if条件语句、for循环、while循环)以及方法的定义和调用。这些构成了程序的基本结构。 接着...

    java学习路线(鱼皮)

    Java学习路线(鱼皮) Java学习路线(鱼皮)是一条龙版本的学习路线,从入门到入土,旨在帮助学习者快速掌握Java开发的所有知识点。本路线的特点是新、完整、实用、开源、回馈社区、持续更新。 学习路线的主要...

    《JAVA_IO流学习总结》

    Java IO流是Java平台核心特性之一,它负责在程序与外部资源之间传输数据。这个概念在Java编程中至关重要,因为它提供了处理输入(读取)和输出(写入)的机制,无论是从键盘、文件、网络还是其他数据源。在本文中,...

    JAVA_IO流学习总结

    JAVA_IO流学习总结

    java的学习之路

    以下将详细介绍Java学习的一些关键知识点。 首先,我们需要理解Java的基础语法。这包括变量声明、数据类型(如基本类型和引用类型)、运算符、流程控制(如if语句、switch语句、for循环和while循环)、以及函数的...

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    《java学习》-java学习笔记.zip

    这份《java学习》笔记包含了多个核心主题,旨在帮助初学者和有经验的开发者深入理解和掌握Java技术。 1. **正则表达式(正则.md)**: 正则表达式在Java中用于文本匹配和搜索,是处理字符串的强大工具。Java提供了...

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    java学习笔记(java 反射机制 流 内存管理)

    本笔记主要涵盖了四个核心知识点:Java反射机制、流(I/O流)、内存管理和Java学习的基础。以下是对这些主题的详细阐述: 一、Java反射机制 Java反射机制是Java语言的一个强大特性,允许程序在运行时检查类、接口、...

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    java学习路线图以及学习java要学习的东西

    Java学习路线图是初学者踏入Java编程世界的重要指南。它为学习者提供了一条系统化的学习路径,确保全面掌握这门强大的编程语言。Java与C语言虽然都属于面向过程的编程语言,但Java更强调面向对象特性,拥有自动内存...

    java学习资料 java学习资料 java学习资料 java学习资料 java学习资料 java学习资料 java学习资料

    Java是一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle公司的一部分)于...这个压缩包中的“java资料”很可能会涵盖这些领域的教程、示例代码、练习题和参考手册,为你的Java学习之旅提供全方位的支持。

    Java学习指南上册

    《Java学习指南上册》是一本专为Java初学者和进阶者设计的教程书籍,旨在帮助读者深入理解和掌握Java编程语言。这份压缩包包含了该书的上下两部分,分别为"Java学习指南第四版上册part1.pdf"和"Java学习指南第四版...

    java学习方法用实用

    10. **实战项目:**理论学习之余,通过实际项目进行练习。可以从简单的控制台应用开始,逐渐过渡到Web开发、数据库操作等更复杂的项目。 11. **持续学习:**Java技术不断更新,学习Java 8、Java 11等新版本的新特性...

    java学习笔记markdown

    【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...

    Java学习指南第四版下册

    《Java学习指南第四版下册》是一本专为Java初学者和进阶者设计的教程,旨在帮助读者全面深入地掌握Java编程语言的核心概念和技术。该书中文版的第四版下册涵盖了Java语言的高级特性,是理解Java编程精髓的重要资料。...

    Java工作流源码

    总之,Java工作流源码的学习是一个深入了解业务流程自动化、提升软件开发效率的过程。通过熟悉BPMN标准、选择合适的工作流框架以及深入研究源码,开发者可以更好地理解和应用工作流技术,为企业信息化建设贡献力量。

    java 学习资料大全

    总之,“Java学习资料大全”应该包含了以上各个领域的教程、示例代码、实践项目和相关书籍,为初学者到高级开发者提供了全面的学习资源。通过深入学习并不断实践,可以成为一名熟练的Java开发者。

    java学习资源.zip

    这个“java学习资源.zip”压缩包显然包含了丰富的学习资料,旨在帮助初学者和有经验的开发者深入理解和提升Java编程技能。 1. **Java基础知识**:初学者应该从了解Java的基础语法开始,包括数据类型(基本类型和...

Global site tag (gtag.js) - Google Analytics