Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入
1. 如何实现数据的换行?
(1)
package com.himi.fileoutputstream; import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; /**
*
* 如何实现数据换行?
*
*/ public class FileOutputStreamDemo4 { public static void main(String[] args) throws IOException {
//创建字节输出流对象
FileOutputStream fos = new FileOutputStream("fos3.txt");
//写入数据
for(int i=0; i<10; i++) {
fos.write(("Love"+i).getBytes());
} //释放资源
fos.close(); } }
运行效果如下:我们这里没有换行,不是我们想要的。

这里没有换行是因为你写入数据的时候,没有写入换行符,写入换行符即可。
(2)如何写入换行符?,如下:
import java.io.FileOutputStream;
import java.io.IOException; /**
*
* 如何实现数据换行?
* 这里没有换行是因为你写入数据的时候,没有写入换行符,写入换行符即可。
*
*不同系统的换行符不一样:
* windows:\r\n
* linux:\n
* Mac:\r
* 而常见的高级记事本软件是可以识别任意换行符的(比如Eclipse自带记事本软件)
*/ public class FileOutputStreamDemo4 { public static void main(String[] args) throws IOException {
//创建字节输出流对象
FileOutputStream fos = new FileOutputStream("fos3.txt");
//写入数据
for(int i=0; i<10; i++) {
fos.write(("Love"+i).getBytes());
fos.write("\n".getBytes());
} //释放资源
fos.close(); } }
运行效果如下:

追溯到工程目录下,如下:
使用Notepad++打开,如下:

使用windows自带记事本打开,如下:

(3)修改代码如下:
package com.himi.fileoutputstream; import java.io.FileOutputStream;
import java.io.IOException; /**
*
* 如何实现数据换行?
* 这里没有换行是因为你写入数据的时候,没有写入换行符,写入换行符即可。
*
*不同系统的换行符不一样:
* windows:\r\n
* linux:\n
* Mac:\r
* 而常见的高级记事本软件是可以识别任意换行符的(比如Eclipse自带记事本软件)
*/ public class FileOutputStreamDemo4 { public static void main(String[] args) throws IOException {
//创建字节输出流对象
FileOutputStream fos = new FileOutputStream("fos3.txt");
//写入数据
for(int i=0; i<10; i++) {
fos.write(("Love"+i).getBytes());
fos.write("\r\n".getBytes());
} //释放资源
fos.close(); } }
运行之后发现,上面所有的记事本软件都换行了,包括windows自带的记事本软件,如下:

2. 如何实现数据的追加?
使用构造方法:FileOutputStream(String name, boolean append)
参数append为true,表示追加;反之false,为不追加。
代码如下:
package com.himi.fileoutputstream; import java.io.FileOutputStream;
import java.io.IOException; /**
* 如何实现数据的追加写入?
* 使用构造方法:FileOutputStream(String name, boolean append)
* 参数append为true,表示追加;反之false为不追加
*/ public class FileOutputStreamDemo5 { public static void main(String[] args) throws IOException {
//创建字节输出流对象
//FileOutputStream fos = new FileOutputStream("fos3.txt"); //FileOutputStream(String name, boolean append)
FileOutputStream fos = new FileOutputStream("fos3.txt",true);
//写入数据
for(int i=0; i<10; i++) {
fos.write(("Love"+i).getBytes());
fos.write("\r\n".getBytes());
} //释放资源
fos.close(); } }
运行效果如下:

Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入的更多相关文章
- Java基础知识强化之IO流笔记17:FileOutputStream构造方法使用
1. 可以参照之前写的笔记: Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流) 2. FileOutputStream(常用的)构造方法: FileOu ...
- Java基础知识强化之IO流笔记71:NIO之 NIO的(New IO流)介绍
1. I/O 简介 I/O ( 输入/输出 ):指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的. ...
- Java基础知识强化之IO流笔记68:Properties和IO流集合使用
1. Properties和IO流集合使用 这里的集合必须是Properties集合: public void load(Reader reader):把文件中的数据读取到集合中 public v ...
- Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)
1. Properties的概述 Properties:属性集合类.是一个可以和IO流相结合使用的集合类. 该类主要用于读取以项目的配置文件(以.properties结尾的文件 和 xml文件). ...
- Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1
1. 使用字节流FileInputStream / FileOutputStream 复制文本文件案例: 分析: (1)数据源:从哪里来 a.txt -- 读取数据 -- FileInpu ...
- Java基础知识强化之IO流笔记16:IO流的概述和分类
1. IO流的分类 流向: (1)输入流:读取数据到内存 (2)输出流:写入数据到硬盘(磁盘) 操作的数据类型: (1)字节流:操作的数据是字节 ...
- Java基础知识强化之IO流笔记01:异常的概述和分类
IO流操作的时候会出现很多问题,java中叫作异常,所以我们先介绍一下异常: 1. 程序的异常:Throwable(Throwable类是java中所有异常或错误的超类) (1)严重问题:Error ...
- Java基础知识强化之IO流笔记56:IO流练习之 登录注册IO版
1. 登录注册IO版的Java项目框架,如下: 2. 具体代码实现: (1)User.java(cn.itcast.game): package cn.itcast.pojo; /** * 这是用户 ...
- Java基础知识强化之IO流笔记42:IO流总结(图解)
1. IO流总结(图解)
随机推荐
- dedecms 文章排列方式
orderby='sortrank' 文档排序方式orderby='hot' 或 orderby='click' 表示按点击数排列orderby='sortrank' 或 orderby='pubda ...
- PHP 用户注册
注册页面 reg.html 负责收集用户填写的注册信息.教程里只列出关键的代码片段,完整的代码附在本节最后. 注册表单 <fieldset> <legend>用户注册</ ...
- A Script Pro nginx URL重写规则无法播放MP4解决方法
I am using nginx and I have already add the line location /file/ { rewrite ^/-]+)/([-]+)/([^/]*)/([- ...
- 在Linux下写一个线程池以及线程池的一些用法和注意点
-->线程池介绍(大部分来自网络) 在这个部分,详细的介绍一下线程池的作用以及它的技术背景以及他提供的一些服务等.大部分内容来自我日常生活中在网络中学习到的一些概念性的东西. -->代码 ...
- 实现OC与JS的交互
oc-->js stringByEvaluatingJavaScriptFromString,其参数是一NSString 字符串内容是js代码(这又可以是一个js函数.一句js代码或他们 ...
- Door man
poj1300:http://poj.org/problem?id=1300 题意:给你n个房间,房间之间有一些门,房间是按0~~n-进行编号的.然后给出一些房间的之间门,n行,每行的数字表示该们与其 ...
- hdu 5128 The E-pang Palace
http://acm.hdu.edu.cn/showproblem.php?pid=5128 题意:给定N个点,选出其中8个点组成两个矩形,使得两个矩形的面积和最大. 思路:找出所有的矩形,然后枚举, ...
- QT 线程暂停,继续执行的一种实现(有些道理,而且封装了)
注意:本次实现线程的暂停执行主要采用互斥量的方法,如果有更好的实现方法的小伙伴可以在下面留言! 直接插入代码了,由于做的小demo,代码写的可能有点乱,但还算完整. 1 2 3 4 5 6 7 8 9 ...
- Android Wear开发 - 数据通讯 - 第一节 : 连接数据层
http://developer.android.com/training/wearables/data-layer/accessing.html Accessing the Wearable Dat ...
- zabbix 四张大表分区
trends_uint.ibd history history_unit trends CREATE TABLE `trends` ( `itemid` bigint(20) unsigned NOT ...