`
lyunabc
  • 浏览: 551779 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

第十二章 java流与文件操作 第一讲

 
阅读更多

第十二章 java流与文件操作 第一讲

在这一章中主要讲的是在面向对象语言中,输入和输出都是通过数据流来实现的。以及在Java中,处理数据流的类主要被放在java .io包中。

第 一 数据流的概念

数据源和数据宿统称为数据源,但是从仔细的方面讲数据源是是指那些能够提供数据的地方,包括键盘、磁盘文件、网络接口等。而数据宿则是接收数据的地方。

正因为数据源的多样性,才有了数据流。

Java中把不同的数据源与程序之间的数据传输都抽象表述为“流”(stream),以实现相对统一和简单的输入/输出操作方式。

根据数据方向的不同可分为:

(1)根据数据流动的方向,可分为输入流(Input Stream)和输出流。输入流只能从中读取数据,而不能向其写出数据;输出流则只能向其写出数据,而不能从中读取数据。

(2)根据数据流所关联的是数据源还是其他数据流,可分为节点流(Node Stream)和处理流(Processing Stream)。节点流可以从/向一个特定的地方读/写数据。处理流是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现增强的数据读/写功能,处理流并不直接连接到数据源。

(3)根据传输数据的“颗粒大小”划分,可分为字符流(Character Stream)和字节流(Byte Stream)。

字符流和字节流的不同:

(1) 节点流

实例化: FileReader fr=new FileReader("dome.txt")

注意:dome.txt是读取指定的文件名称

(2)处理流

实例化:BufferedReader bf=new BufferedReader(new FileReader("dome.txt"));

注意:BufferedReader 是对输入的缓冲,对数据的连接和封装

字节流一次或多次传送对个字节 可处理所有类型的数据

字符流一次或多次传送对个字流 只能处理字符数据

所有字节流都是以 InputStream OutputStream 结尾的

所有字符流都是以 Reader Writer 结尾的

一 Reader Writer字符的输入和输出

Reader和Writer是父类,是抽象类,用来处理数据的输入和输出

(1)首先说一下Reader类,他共有三种read重载的方法

第一种:public int read() throws IOException

第二种:public int read(char[] cbuf) throws IOException

注意: 读到的是实际的数据,并不是数组的长度

第三种:public abstract int read(char[] cbuf, int off,int len) throws IOException

注意:int off是读取到的偏移量(从哪个位置开始存放) int len是读取的长度

(2)然后是Writer父类,也是三种writer重载的方法

第一种:public void write(int c) throws IOException

第二种:public void write(char[] cbuf) throws IOException

第三种:public abstract void write(char[] cbuf,int off, int len) throws IOException

FileWriter的使用

FileWriter类只有自己的构造函数,此类是在利用构造函数的基础上用于创建文本文档,在创建的过程中可以在当前的路径下,也可以在指定的路径下。

例如: FileWriter fw=new FileWriter("d:/q/demo.txt");

FileReader的使用

是用来从指定的文本中读取数据,在读取的时候有两种方式,一种是一个字符一个 字符的读,另一种是当初数组来读。

(1)当在用read()时是一个 字符一个字符的读

int n=fr.read();

while(n!=-1){

System.out.print((char)n);//强制类型转换,每读取一个都显示出来

n=fr.read();

}

(2)当在用read(char[] cbuf)是当成数组

FileReader fr=null;

char[] arr=new char[1024];

try{

fr=new FileReader("d:\\q\\demo.txt");

int len=fr.read(arr); //读取的返回值是实际读到的字符数,

while(len!=-1){

System.out.println(new String(arr,0,len));

注意:构建字符串对象,如果字符没有超过1024时,读取的是实际的个数,如果超过1024,则把1024个字符封装成字符数组返回并输出,如果超过1024个字符,

则从第一次保存的字符开始接着读取,知道读完。

len=fr.read(arr);

}

}catch(IOException e ){

System.out.println(e.totring());

}

分享到:
评论

相关推荐

    Java语言程序设计基础第十版第十二章课后复习题答案

    根据提供的信息,我们可以总结出以下关于《Java语言程序设计基础第十版》第十二章的一些关键知识点及解答: ### 一、异常处理基本概念 #### 12.1 **问题:** 异常处理的主要思想是什么? **解答:** 异常处理的主要...

    java第十三章Java 输入输出流.rar

    Java输入输出流(I/O流)是Java编程中不可或缺的一部分,它允许程序处理数据的读取和写入操作。在Java中,一切皆为对象,所以输入和输出操作也被抽象成了一系列的类,这些类构成了Java I/O系统的核心。本章主要涵盖...

    java面向对象程序设计课程每章ppt(共15章+复习1章).zip

    第1章 Java概述.pptx 第2章 Java基础.pptx 第3章 数组.pptx 第4章 类和对象(1).pptx 第4章 类和对象(2).pptx 第5章 类的继承.pptx 第6章 抽象类和接口.pptx 第7章 多态.pptx 第8章 包装器类.pptx 第9章 内部类....

    JAVA解析DBC文件

    例如,一个DBC文件可能会定义一个名为"EngineTemperature"的信号,该信号在消息ID为0x123的帧中传输,从第5位到第9位,是温度传感器的数据。 在JAVA中解析DBC文件,首先需要读取文件内容,然后按照DBC的语法规则...

    Java第三十五——三十六讲总结-输入输出流.doc

    ### Java第三十五至三十六讲知识点总结:输入输出流 #### 一、输入输出流概述 在Java中,输入输出流是进行数据读写的重要工具。主要包括以下几类: 1. **字节流**:主要涉及`InputStream`(输入字节流)和`...

    北大青鸟S1JAVA第十二章课后练习详解

    在北大青鸟S1JAVA课程的第十二章中,学员们会接触到一系列深入的Java编程概念和实践。这一章节的课后练习旨在巩固所学知识,提升编程技能。以下是本章涉及的一些关键知识点: 1. **面向对象编程基础**:在Java中,...

    Java文件操作源码大全

    Java文件操作是编程中常见的任务,...以上只是Java文件操作的一部分知识点,实际开发中还会涉及文件权限控制、并发访问、流操作等更多内容。了解并熟练掌握这些知识点,能帮助开发者高效、安全地处理各种文件操作需求。

    java开发实战经典第十二章课后习题答案

    1. **面向对象编程**:Java是一种面向对象的语言,第十二章可能深入讲解了类的设计原则,包括单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口隔离原则。此外,可能还讨论了抽象类、接口、继承和多态...

    java课件1到12章

    12. **第十二章:Java Swing图形界面编程** - Swing组件库:JFrame、JButton、JLabel、JTextArea等 - 布局管理器:FlowLayout、BorderLayout、GridLayout、BoxLayout - AWT与Swing的区别 - Event监听机制 这些...

    深入JAVA虚拟机第二版.pdf 目录

    第1章 Java体系结构介绍 第2章 平台无关 第3章 安全 第4章 网络移动性 第5章 Java虚拟机 第6章 Java class文件 第7章 类型的生命周期 第8章 连接模型 第9章 垃圾收集 第10章 栈和局部变量操作 第11章 类型转换 第12...

    Java语言程序设计(梁勇)第21-30章全部完整习题答案

    第23章可能涉及输入输出流(I/O流),这是处理文件读写、网络通信的基础。学习如何使用FileInputStream、FileOutputStream,以及掌握缓冲区的概念,如BufferedReader和BufferedWriter,能有效提升数据传输效率。 第...

    北大青鸟第一学期JAVA课件第12章

    在北大青鸟的ACCP V4.0第一学期的JAVA课程中,第12章主要讲解了Swing组件的应用,特别是关注于Swing中的菜单、对话框以及数据展示的两个重要组件:JTable和JTree。 Swing是Java的一个图形用户界面(GUI)工具包,它是...

    java语言程序与数据结构梁勇第十版第七章复习题答案

    在“Java语言程序与数据结构梁勇第十版第七章复习题答案”中,我们主要探讨的是Java编程语言的基础知识,特别是与数据结构相关的概念。Java作为一种面向对象的编程语言,对于初学者来说,理解其基本语法、类和对象、...

    第12讲 Java有几种文件拷贝方式?哪一种最高效?1

    在Java编程中,文件拷贝是一项常见的操作,有多种实现方式。本节主要讨论了三种典型的方法,并探讨了它们的效率和底层实现机制。 首先,Java.IO类库提供了一种基于`FileInputStream`和`FileOutputStream`的文件拷贝...

    第12章输入输出流、文件及数据库操作.doc

    在Java编程中,输入输出流(Input/Output Stream)是数据传输的核心机制,用于处理程序与外部世界的交互,包括键盘、显示器、文件和网络等。本章主要关注的是输入输出流、文件操作以及数据库操作。 12.1 输入输出流...

    第十二章输入输出流-java程序设计ppt讲义.ppt

    文件操作是Java I/O流的一个重要应用场景。Java提供了`File`类来处理文件和目录。`File`类可以获取文件的各种属性,如文件名、路径、大小、是否存在、是否可读写等,并支持创建、删除、重命名文件和目录。`File`类还...

    第二章第十四节——文件操作控件

    在本章第十四节中,我们将深入探讨文件操作控件的概念、功能以及如何在不同编程环境中实现它们。 首先,了解文件操作控件的基本概念是必要的。文件操作控件是UI中的组件,通常表现为按钮、对话框、菜单项等形式,...

    Java Web开发实例大全

    第1章 操作XML文件 第2章 发送与接收邮件 第2篇 数据库应用篇 第3章 数据库操作技术 第4章 SQL语句应用技术 第5章 复杂查询技术 第6章 数据库高级应用 第3篇 图表统计篇 第7章 JFreeChart绘图基础 第8章 基础图表...

    《Java语言程序设计(进阶篇)》 课后习题第21章代码chapter21.rar

    《Java语言程序设计(进阶篇)》是深入学习Java编程的一本重要教材,其中第21章的课后习题代码集包含了丰富的Java高级特性应用实例,旨在帮助读者巩固和提升在面向对象编程、异常处理、多线程、网络编程、IO流等方面...

    深入Java虚拟机(原书第2版)及书中源代码

    第1章 Java体系结构介绍 第2章 平台无关 第3章 安全 第4章 网络移动性 第5章 Java虚拟机 第6章 Java class文件 第7章 类型的生命周期 第8章 连接模型 第9章 垃圾收集 第10章 栈和局部变量操作 第11章 类型转换 第12...

Global site tag (gtag.js) - Google Analytics