`
liuzm
  • 浏览: 101493 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JAVA - IO初步认识

    博客分类:
  • JAVA
阅读更多
IO 有初步认识,对IO包的学习引导
什么是IO
--------------------------------------------------------------------------------
  IO(Input/Output)是计算机输出/输出的接口。Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。此外,Java也对块传输提供支持,在核心库java.nio中采用的便是块IO。关于NIO我们在后面还有专门的讨论。
  流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。

Java IO模型
--------------------------------------------------------------------------------
  Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。
  Java的IO体系分Input/Output和Reader/Writer两类,区别在于Reader/Writer在读写文本时能自动转换内码。基本上,所有的IO类都是配对的,即有XxxInput就有一个对应的XxxOutput。

Java IO教程
--------------------------------------------------------------------------------
  如果您对Decorator模式非常了解,就能轻易地看出Java的IO类结构:根接口是InputStream/OutputStream,充当数据源的IO类有FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等,充当装饰功能的IO类有BufferedInputStream/BufferedOutputStream,DataInputStream/DataOutputStream等,它们都是继承装饰接口FilterInputStream/FilterOutputStream。使用IO时,首先创建一个数据源IO,然后根据需要的功能创建装饰类IO,其构造函数的参数为已创建的数据源IO。我们以创建一个具有缓冲的文件输入流为例,假定需要从磁盘读取文件“C:\log.txt”:
// 创建一个FileInputStream:
FileInputStream fileInput = new FileInputStream("C:\\log.txt");
// 创建一个BufferedInputStream:
BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
// 现在得到的bufferedInput即是具有缓冲的文件输入流
  或者进一步简写如下:
InputStream input = new BufferedInputStream(
new FileInputStream("C:\\log.txt"));
// 现在得到的input即是具有缓冲的文件输入流
  在您对Java的IO有了总体了解后,我们推荐您看看教程Introduction to Java I/O和I/O: Reading and Writing。

本篇文章来源于 :刘志猛博客 原文链接:
http://www.liuzm.com/article/java/967.htm
分享到:
评论

相关推荐

    java-条型码生成代码

    Java条形码生成是开发过程中常见的一种需求,特别是在库存管理、商品标识或票务系统等领域。...通过以上介绍,你应该对如何在Java项目中生成条形码有了初步的认识,可以根据实际需求进行进一步的开发和优化。

    1java认识与首个应用程序发布

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有简单性、面向...因此,对Java的初步认识和首个应用程序的发布是每个Java程序员的必经之路。

    传智播客 刘意-2015年Java基础视频-深入浅出精华版 笔记day01-day27

    ",让学员对Java编程有个初步认识。 **Day02-03: Java语法基础** 这部分涵盖了Java的基础语法,如变量、数据类型(包括基本类型和引用类型)、运算符、流程控制语句(if、switch、for、while等)、数组的声明、初始...

    Java开发实战经典-李兴华

    1. **Java基础知识**:书中首先介绍了Java的历史、特点以及安装配置,让读者对Java有一个初步的认识。接着,详细讲解了Java的基本语法,包括数据类型、变量、运算符、流程控制语句(如if、switch、for、while等)...

    AIC的Java课程1-6章

     初步认识面向对象编程,Java视一切为对象。  使用输入和输出语句编写简单的Java应用程序。  区分applet与application(浏览器和虚拟机上运行)。  编写简单的applet,并嵌入HTML文档,掌握其...

    Java基础教程.md.pdf

    ##### 1.1 认识Java - **诞生时间**:1995年5月23日,Java语言由Sun Microsystems公司推出。 - **创始人**:James Gosling,通常被称为“Java之父”。 ##### 1.2 Java的发展史 - **起源**:Java最初被设计用于消费...

    JAVA项目前准备资料

    - 《Java程序设计》01 第一天 上午 和下午的课程介绍了Java编程的基础概念,包括Java环境的搭建、语法特性、数据类型、控制结构(如if语句和循环)、方法定义以及类与对象的初步认识。这些是Java学习的基石,为后续...

    Java Web应用开发 46 课堂案例-认识第一个Servlet.docx

    【Java Web应用开发 46 课堂案例-认识第一个Servlet】是针对初学者的一个实践教程,旨在帮助理解Servlet的基本概念和使用方式。Servlet是Java编程语言中用于扩展服务器功能的接口,尤其在Web开发中扮演着重要角色。...

    郝斌java视频课代码及课件

    这将帮助初学者建立起对Java编程的初步认识。 "【4-8】源代码"可能涉及了Java的基础语法,如变量、数据类型、运算符、流程控制语句(如if-else、for、while等)。这部分内容是所有编程语言的基础,对于理解和解决...

    Java开发施展经典-李兴华

    1. **Java基础知识**:书中首先介绍了Java的历史、特点和应用领域,让读者对Java有一个全面的认识。接着,详细讲解了Java开发环境的搭建,包括JDK的安装、配置环境变量,以及如何使用IDE(如Eclipse或IntelliJ IDEA...

    JAVA简易基础(速成版)

    Java简易基础(速成版)课程...通过这个速成版的Java简易基础课程,你可以快速建立起对Java编程的初步认识,并具备基本的编程能力。然而,Java语言的深度和广度远不止于此,深入学习和实践将是持续提升编程技能的关键。

    谭浩强JAVA幻灯片

    【描述】:“适当初入门的人学习JAVA,对J2SE有个初步认识和了解”这部分说明了这个资源是为Java初学者设计的,特别适合那些刚开始接触编程或者对Java没有基础的人群。J2SE是Java平台的标准版,包含了编写...

    head first java 中文版

    13. **Java EE基础**:对Java企业版(Java EE)有一个初步认识,了解Servlet和JSP的基础知识,为Web开发打下基础。 通过《Head First Java 中文版》的深入阅读和实践,初学者不仅能够掌握Java编程语言的基本技能,...

    java学习PDF下载地址全 百度云盘下载

    1. **Java简介**:介绍Java的历史、特点、应用领域以及与其它编程语言的对比,使学习者对Java有一个初步认识。 2. **环境配置**:讲解如何安装Java Development Kit (JDK) 和设置环境变量,为后续开发工作奠定基础...

    JAVA南邮大学珍藏资源

    "程序的编写,为初学者建立初步认识。 2. **第02章_Java基本语法.pptx**:这一章深入讲解Java的基础语法,包括数据类型、变量、运算符、流程控制(如if-else,switch,for,while等),以及方法的定义和调用,这些...

    张孝祥java就业培训教程(WORD版)

    通过这些基础内容的学习,读者将能够建立起对Java编程的初步认识,为进一步深入学习Java核心技术(如集合框架、IO流、多线程、网络编程等)打下坚实的基础。同时,对于求职者而言,掌握这些基础知识是面试和实际工作...

    java_I/ODemo

    对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务,在整个Java.io包中最重要的就是5个类和一个接口。...掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识

    Java零基础视频教程(java1000集,java入门,java自学必备)

    15. **Java EE基础知识**:对Servlet、JSP、MVC架构有初步认识,了解Web应用程序的开发。 16. **Java 8及更高版本的新特性**:如Lambda表达式、Stream API、日期和时间API等。 通过本教程的学习,你将能够熟练地...

    JAVA课件 辽宁工业大学

    通过学习这些内容,初学者不仅能了解JAVA的常用类,还能建立起对JAVA标准库的初步认识,为后续的进阶学习打下坚实的基础。在实际编程中,熟练运用这些类可以大大提高代码的效率和可读性。因此,掌握第五章的内容对于...

    刘意老师的Java基础教学源码(第一天到第八天)

    5. **数组与集合**:"day06"可能讲解数组的使用,包括一维数组、二维数组,以及Java集合框架的初步认识,如ArrayList和LinkedList。 6. **字符串操作**:"day07"可能涉及Java中String类的常用方法,如concatenation...

Global site tag (gtag.js) - Google Analytics