当前课程知识点:Java程序设计 >  第五章 输入输出 >  5.3.1-写文本文件 >  写文本文件

返回《Java程序设计》慕课在线视频课程列表

写文本文件在线视频

写文本文件

下一节:读文本文件

返回《Java程序设计》慕课在线视频列表

写文本文件课程教案、知识点、字幕

大家好

欢迎回来继续学习

Java语言程序设计

这一节我们来学习

如何将信息写到文本文件中去

我要给大家介绍写文本文件

相关的一些类

以及如何用这些类的对象

去构造一个文本文件的输出流

然后将数据写出去关闭文件等等

而且在这一章我们还要了解

在执行文件输出的时候

可能会遇到你调用的方法

它可能抛出异常

这样的话我们在程序中

还要解决如何捕获

和处理异常的问题

下面我们就通过例题来看

怎么样创建一个文本文件

将信息写到文本文件中去

在这个例子中

我们没有捕获和处理异常

是直接将异常抛出了

现在我们来看一下在这个程序中

我们首先要创建一个文本文件

这里给这个文件

起个名字就叫Hello.txt

然后我们来看

它重建文本文件的时候

我们要改造一个FileWriter对象

那么括号里面

应该是文件名作为参数

可以是一个相对路径名

比如说我只写Hello.txt

那么就在当前工作文件夹下

创建一个文件

也可以连盘符都写上

连路径各级路径都写上

写一个全路径名也是可以的

创建好了这样一个FileWriter

输出流对象Writer

我们就可以向文件中写信息了

每次写入一行

用这个反斜杠n作为换行符

中文也可以

只要在双引号里面字符串都可以

写完了以后就关闭文件

由于操作文件的时候

这些操作文件的方法

有可能会抛出异常

所以这个main方法

既然不打算处理异常

那么就要声明它自己也抛出

所以声明有可能抛出

一个ioException异常

现在我们打开Hello.txt文件

来看一下

我们写的那些字符串看得见

都在里面

但是换行好像出了一些问题

没有正确的显示换行

而是显示了这么个小黑方块

这是因为我们用反斜杠n来换行

看这地方用反斜杠n来换行

是在不同的平台底下

对这个符号它的解释会不一样

所以没有达到跨平台的

统一的正确换行

这个问题在后面的例题中

会有解决的

还有我们可以

试一下多运行几次

会发现每次运行

都是删除原有的旧文件

生成新文件

根本不询问也不判断

就直接删除旧文件了

那么这样的处理方式

是不是有点简单粗暴了呢

这个问题在这一章

后面的例题中也会有解决

接下来这个例题演示了

在程序中捕获和处理IO的异常

我们来看这个例子

现在我们将前面的例题稍做修改

首先我们是将这个文件操作

都放在try块里面

然后或者有catch块来捕获

就在我们自己的方法中

处理这个异常

而不是简单的

将异常抛给运行环境

另外在构造这个

输入流对象的时候

也就是相当于打开文件的时候

在构造FileWriter对象的时候

它这个参数表中

出现了第二个参数true

那么这个true放在这儿

表示是追加

也就是说如果

已经存在这个同名文件了

那么我们就往文件尾追加内容

现在我们运行看一下

运行程序我们就会发现

在原来文件的内容后面

又追加了重复的内容

那么大家可以课下去试一下

你去人为的将文件属性改为只读

然后你再运行这个程序

你看看会发生什么

应该会出现IO错误

这样的话程序

就会进入catch块里面

给出出错信息

如果我们要写到

文件中去的信息比较多

那么这个写的效率就是个问题了

这时候我们可以

用BufferedeWriter这个类

进行一下缓冲能够提高写的效率

BufferedeWriter和这个FileWriter类

都是用于输出字符的流

它们包含的方法很多是一样的

但是BufferedeWriter

多了一个很有用的方法叫newLine

这个方法可以用来换行

这个换行效果是跨平台的

因为不同系统

对文字的换行方法是不同的

newLing它可以输出

在当前运行的这个计算机系统上

正确的这个换行字符

下面这个例题就演示了如何利用BufferedeWriter这个类来进行缓冲

现在我们就来解决一下前面的例题中

没有正确换行的这个问题

在前面例题中我们是构造了一个FileWriter文件输入流对象

然后用它来写信息到文件中去

现在我们在这个FileWriter对象外面

再套一个BufferedeWriter

也就是用FinlWriter对象作为参数

去构造一个缓冲的输出流

这个缓冲的输出流

不仅能够起到缓冲作用

提高输出效率

而且它还有一个写入跨平台的

换行符的这样一个功能

可以有一个newLine这个方法

我们每写一个字符串

就在后面调用一次newLine

而不再用反斜杠n

这种不能跨平台的符号作为换行符了

那么这样的话

我们最后运行的时候

就会看到运行结果

这个文件中看到正确的换行了

这一节我们学习了

如何将信息写到文本文件中去

这一节内容就是这些

Java程序设计课程列表:

第一章 Java语言基础知识

-1.0-导学

--1.0-导学

--JDK的安装与配置01

--JDK的安装与配置02

--JDK的安装与配置03

--编辑并执行第一个java程序01

--编辑并执行第一个java程序02

--编辑并执行第一个java程序03

--eclipse的安装和配置01

--eclipse的安装和配置02

--eclipse的安装和配置03

--使用eclipse进行Java的开发01

--使用eclipse进行Java的开发02

--使用eclipse进行Java的开发03

-1.1-Java与面向对象程序设计简介

--1.1.1 Java与面向对象程序设计简介

--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介

-1.2-基本数据类型与表达式

--1.2.1-基本数据类型与表达式

-第一章 Java语言基础知识--1.2-基本数据类型与表达式

-1.3-数组

--1.3.1-数组

-第一章 Java语言基础知识--1.3-数组

-1.4-算法的流程控制

--1.4.1-算法的流程控制

--第一章 Java语言基础知识--1.4-算法的流程控制

-1.5-第一章小结

--1.5.1-第一章小结

-第一章编程练习题

-课件

--外部链接

第一章续-习题讲解视频

-Java环境配置、Eclipse使用、Helloworld程序详解

--JAVA的安装和配置

--编写并执行第一个Java程序及Java的跨平台性

--eclipse的安装和配置

--使用eclipse建立Java项目、编写和运行Java程序

--Java注释和Eclipse中的注释操作

--详解HelloWorld程序

-Java数据类型

--Java数据类型介绍

--Java整数类型

--Java浮点类型

--Java字符类型和布尔类型

--数据类型实战

--数据类型转换

--Java强制类型转换精度损失示例与表达式中的数据类型转换

-Java数组

--Java数组介绍、声明与使用

--一维数组的初始化与length属性

--数组索引的原理与使用

--二维数组的介绍与使用

-Java变量

--Java的变量

-命令行参数

--命令行参数的介绍

第二章 类与对象

-2.0-导学

--2.0-导学

-2.1-面向对象方法的特性

--2.1-面向对象方法的特性

--第二章 类与对象--2.1-面向对象方法的特性

-2.2-1-类声明与对象创建

--2.2-1-类声明与对象创建

--第二章 类与对象--2.2-1-类声明与对象创建

-2.2-2-数据成员

--2.2-2-数据成员

--第二章 类与对象--2.2-2-数据成员

-2.2-3-方法成员

--2.2-3-方法成员

--第二章 类与对象--2.2-3-方法成员

-2.2-4-包

--2.2-4-包

--第二章 类与对象--2.2-4-包

-2.2-5-类的访问权限控制

--2.2-5-类的访问权限控制

--第二章 类与对象--2.2-5-类的访问权限控制

-2.3-1-对象初始化

--2.3-1-对象初始化

--第二章 类与对象--2.3-1-对象初始化

-2.3-2-内存回收

--2.3-2-内存回收

--第二章 类与对象--2.3-2-内存回收

-2.4-枚举类

--2.4-枚举类

--第二章 类与对象--2.4-枚举类

-2.5-应用举例

--2.5-应用举例

-2.6-第2章小结

--2.6-第2章小结

-第二章编程练习题

-课件

--第二章课件

第三章 类的重用

-3.0-导学

--3.0-导学

-3.1.1-3.1.2-类继承的概念和语法

--3.1.1-3.1.2-类继承的概念和语法

--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法

-3.1.3-隐藏和覆盖

--3.1.3-隐藏和覆盖

--第三章 类的重用--3.1.3-隐藏和覆盖

-3.2-Object 类

--3.2-Object 类

--第三章 类的重用--3.2-Object 类

-3.3-终结类与终结方法

--3.3-终结类与终结方法

--第三章 类的重用--3.3-终结类与终结方法

-3.4-抽象类

--3.4-抽象类

--第三章 类的重用--3.4-抽象类

-3.5-泛型

--3.5-泛型

--第三章 类的重用--3.5-泛型

-3.6-类的组合

--3.6-类的组合

-3.7-小结

--3.7-小结

-第三章编程练习题

-课件

--课件

第四章 接口与多态

-4.0-导学

--导学

-4.1-接口

--接口

--第四章 接口与多态--4.1-接口

-4.2.1-4.2.2-类型转换

--类型转换

--第四章 接口与多态--4.2.1-4.2.2-类型转换

-4.2.3-方法的查找

--方法的查找

--第四章 接口与多态--4.2.3-方法的查找

-4.3-多态的概念

--多态的概念

--第四章 接口与多态--4.3-多态的概念

-4.4-多态的应用举例

--多态的应用举例

--第四章 接口与多态--4.4-多态的应用举例

-4.5-构造方法与多态性

--构造方法和多态性

--第四章 接口与多态--4.5-构造方法与多态性

-4.6-本章小结

--本章小结

-第四章编程作业

-课件

--课件

第五章 输入输出

-5.0-导学

--5.0-导学

-5.1.1-5.1.2-异常处理的概念

--5.1.1-5.1.2-异常处理的概念

--第五章 输入输出--5.1.1-5.1.2-异常处理的概念

-5.1.3-5.1.5-异常的处理

--5.1.3-5.1.5-异常的处理

--第五章 输入输出--5.1.3-5.1.5-异常的处理

-5.2-输入输出流的概念

--输入输出流的概念

--第五章 输入输出--5.2-输入输出流的概念

-5.3.1-写文本文件

--写文本文件

--第五章 输入输出--5.3.1-写文本文件

-5.3.2-读文本文件

--读文本文件

--第五章 输入输出--5.3.2-读文本文件

-5.3.3-写二进制文件

--写二进制文件

--第五章 输入输出--5.3.3-写二进制文件

-5.3.4-读二进制文件

--读二进制文件

-5.3.5-File类

--File类

-5.3.6-处理压缩文件

--处理压缩文件

-5.3.7-对象序列化

--对象序列化

-5.3.8-随机文件读写

--随机文件读写

-5.4-本章小结

--本章小结

-课件

--课件

第六章 对象群体的组织

-6.0-导学

--导学

-6.1-Java集合框架介绍

--Java集合框架介绍

--第六章 对象群体的组织--6.1-Java集合框架介绍

-6.2-主要接口及常用的实现类

--6.2-主要接口及常用的实现类

--第六章 对象群体的组织--6.2-主要接口及常用的实现类

-6.3-常用算法

--常用算法

-6.4-数组实用方法

--6.4-数组实用方法

-6.5-基于动态数组的类型(Vector, ArrayList)

--基于动态数组的类型(Vector, ArrayList)

-6.6-遍历Collection

--遍历Collection

-6.7-Map接口及其实现

--Map接口及其实现

-6.8-第6章小结

--第6章小结

-课件

--课件

第七章 图形用户界面

-7.0-导学

--导学

-7.1-绘图

--绘图

-7.2-Swing基础

--Swing基础

-7.3-Swing的层次

--Swing的层次

-7.4-布局管理

--布局管理

-7.5-内部类

--内部类

-7.6-事件处理的基本概念

--事件处理的基本概念

-7.7-事件派发机制

--事件派发机制

-7.8-顶层容器

--7.8-顶层容器

-7.9-中间层容器(一)

--7.9-中间层容器(一)

-7.10-中间层容器(二)

--7.10-中间层容器(二)

-7.11-原子组件(一)

--7.11-原子组件(一)

-7.12-原子组件(二)

--7.12-原子组件(二)

-7.13-原子组件(三)

--7.13-原子组件(三)

-7.14-其它Swing特性

--7.14-其它Swing特性

-7.15-第7章小结

--7.15-第7章小结

-课件

--课件

写文本文件笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。