`

黑马程序员--流的一些概念

 
阅读更多

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ---------------------

流作为java中最重要的技术,实现了各种设备之间的数据传递,学java的人不搞明白流是什么概念肯定是不行的。

流简单的说就是设备之间传送数据的管道,管道上面有一些按钮可以对数据进行一些操作。流有两种最基本的类型:字符流和字节流,字符流针对的是文本数据,操作起来会非常方便,字节流则可以操作任何数据,字节流可以转化成为字符流,这相当于用特定编码将字节转换成字符,这个过程可以指定字符集,当然,如果字符集没选对的话,就出现乱码了。

 

另外,流还可以分为输出流Writer、OutputStream 和读取流Reader、InputStream,这四种流是最基本的流,其他的流类基本都是这四种流的子类,除了一个特殊的RandomAccessFile,这个类既提供了读取的功能,也提供了输出的功能,而且输出和读取都可以从文件的指定位置开始,不想其他的流需要从头到尾按顺序来。

 

Wirter、OutputStream 最常用的方法就是 write(), flush(), close()这里面要注意用write写字符时,要使字符换行要用转义字符"\r\n",为什么不用"\n"? 因为记事本不识别单个的"\n",而"\r\n"所有的文本软件都识别。另外用BufferedWriter 还可以使用newLine()方法来换行.

Reader、InputStream最常用的方法有read(),close()用BufferedReader还可以使用readLine() 来读取一行。

 

要注意的是write(数组, 角标1, 角标2) 的意思是将数组从角标1到角标2(不包括角标2)中的数据写到指定目标文件read(数组, 角标1, 角标2)的意思是将读取到的数据放到数组中,从角标1开始到角标2结束,并返回读取数据的个数。

 

操作流的基本规律:

    1、明确源和目的    源:输入流   目的:输出流

    2、操作的数据是否为纯文本

              是:字符流

              不是:字节流

    3、当体系明确后,再明确要使用哪个具体的对象

         源设备:内存,硬盘(文件),键盘

         目的   :内存,硬盘,控制台

 

一些常用的流,需要看到就知道怎么用:

输入流:FileReader FileInputStream BufferedReader BufferedInputStream  InputStreamReader  ByteArrayInputStream  DataInputStream  CharArrayReader  ObjectInputStream PipedInputStream PipedReader等,输出流基本都能知道到对应的

 

其他的一些:PrintStream   PrintWriter   SequenceInputStream  RandomAccessFile等。

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

 

分享到:
评论

相关推荐

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

    本资料包“Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar”提供了一个深入学习Java IO流的全面资源,包含实例题目、源代码以及PPT教学材料,适合对Java IO有进阶需求的开发者。 1. **Java ...

    黑马程序员匠心之作 C++教程_第7阶段-C++实战项目机房预约讲义.rar

    《黑马程序员匠心之作 C++教程_第7阶段-C++实战项目机房预约讲义》是为C++初学者量身定制的一份详细教学资源。这份讲义深入浅出地介绍了C++编程语言,并通过实际的机房预约系统项目,帮助学习者将理论知识与实践相...

    《MySQL数据库入门》-黑马程序员 配套书籍资源 .zip

    《MySQL数据库入门》是针对初学者的一本指南,旨在帮助读者快速掌握MySQL的基本概念和操作。这本教材的配套资源包含了一系列辅助学习材料,如教学PPT、教学大纲、教学设计、课后习题及答案,以及源代码,旨在提供全...

    黑马程序员Java函数式编程全套视频教程,Lambda表达式、Stream流、函数式编程一套全通关1

    本套黑马程序员的Java函数式编程视频教程涵盖了Lambda表达式、Stream流以及函数式编程的核心概念,旨在帮助学习者全面掌握这一现代编程技术。 Lambda表达式是Java 8引入的关键特性,它允许我们以更简洁的方式定义...

    黑马程序员 struts2.1 视频教程

    这个视频教程由黑马程序员提供,由黎活明主讲,旨在帮助开发者深入理解和掌握Struts2.1的核心概念和实际应用。 首先,从标题和描述我们可以了解到,本教程是关于Struts2.1的,它涵盖了从基础到进阶的多个主题。...

    黑马程序员Python视频中代码、课后习题等第二章内容

    在“黑马程序员Python视频中代码、课后习题等第二章内容”这个资源包中,我们聚焦于Python编程语言的学习,特别是第二章的核心知识点。这一章通常会涵盖基础语法和重要概念,对于初学者来说是至关重要的。下面,我们...

    黑马程序员入学Java精华总结

    ### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...

    黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习).zip

    在这个“黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习)”中,毕向东老师将深入讲解如何使用Java IO流来读取文本文件。Java IO流提供了多种类和方法,使得开发者可以灵活高效地处理输入和输出...

    黑马程序员匠心之作 C++教程_第2阶段实战-通讯录管理讲义.rar

    《黑马程序员匠心之作 C++教程_第2阶段实战-通讯录管理讲义》是一份针对C++初学者精心编写的教学材料,旨在帮助学习者掌握C++编程语言的基础知识,并通过实际的通讯录管理系统项目来提升编程技能。这份讲义以简洁...

    安卓黑马程序员课表

    ### 安卓黑马程序员课程知识点概览 #### 1. XML编程 - **知识点概述**:XML编程是学习安卓开发的基础之一,通过本课程学员将掌握XML的基本语法、元素及属性定义、命名空间等概念。 - **教师**:王昭珽 - **教学目标...

    黑马程序员入学面试题

    Java的IO体系主要包括字节流(InputStream/OutputStream)和字符流(Reader/Writer),它们用于处理文件读写、网络通信等操作。 #### 18. 集合体系 Java集合框架主要包括List、Set、Map三种集合类型,以及它们的...

    黑马程序员入学测试题

    【标题】:“黑马程序员入学测试题”是一份用于评估编程基础和理解能力的测试集,主要针对准备加入黑马程序员培训课程的学生。这份测试题旨在帮助新手程序员检验自己的知识水平,以便更好地适应学习环境。 【描述】...

    前端学习笔记-黑马程序员Vue

    前端学习笔记-黑马程序员Vue Vue.js 是一款流行的前端框架,它提供了强大的模板语法、数据绑定、MVVM 模型等特点,帮助开发者快速构建复杂的前端应用程序。下面是对 Vue.js 的一些重要知识点的总结: Vue.js ...

    2017黑马程序员第一天Hibernate讲义,笔记,源码

    【标题】中的“2017黑马程序员第一天Hibernate讲义,笔记,源码”表明这是一个关于Hibernate框架的初学者教程,由知名的IT培训机构黑马程序员在2017年制作,内容可能包括讲义、学习笔记以及相关的源代码示例。...

    黑马程序员Android学习笔记

    内容可能涵盖变量、数据类型、控制流语句、类和对象、异常处理等基本概念,以及面向对象编程的特性如继承、多态和封装。对于没有Java背景的初学者,这部分尤为重要。 在Java基础牢固之后,笔记将转向Android特有的...

    day01-Service Mesh课程讲义-黑马程序员1

    【Service Mesh】课程讲义-黑马程序员1 随着IT行业的快速发展,微服务架构已经成为现代企业构建应用程序的标准方式,它能够解决传统单体架构中的诸多问题,如可扩展性、独立部署和故障隔离等。然而,微服务架构也...

    黑马程序员C++教程讲义-保真

    黑马程序员的C++教程讲义会系统地介绍这些概念,帮助初学者从0到1逐步掌握C++编程。"assets"目录可能包含相关的辅助材料,如示例代码、图片或课件,这些资源可以增强学习体验,使理论与实践相结合。

    JAVA Web程序设计任务教程(黑马程序员、编著)课后习题1-15章课后习题答案.zip

    本教程由黑马程序员编著,旨在帮助学习者深入理解并掌握Java Web编程的核心概念和技术。教程覆盖了从基础到进阶的15个章节,每个章节都配备了课后习题,以强化理论知识并提升实践能力。 1. **Servlet与JSP**:Java ...

    黑马程序员_Java基础辅导班教程课件[第01期]第15天

    总结来说,《黑马程序员_Java基础辅导班教程课件[第01期]第15天》的内容可能涉及了Java语言的核心概念,包括面向对象编程、控制结构、异常处理、文件I/O、集合框架以及内存管理等。通过深入学习和实践这些知识点,...

    黑马程序员java面试宝典 完整版PDF.rar

    《黑马程序员Java面试宝典》是一本专门为Java开发者准备的面试指南,包含了广泛而深入的Java技术知识,以及面试过程中可能会遇到的各种问题。这本书的完整版PDF提供了丰富的学习材料,帮助求职者提升自己的技术水平...

Global site tag (gtag.js) - Google Analytics