Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入

1.  如何实现数据的换行?

(1)

 1 package com.himi.fileoutputstream;
 2
 3 import java.io.FileNotFoundException;
 4 import java.io.FileOutputStream;
 5 import java.io.IOException;
 6
 7
 8 /**
 9  *
10  *     如何实现数据换行?
11  *
12  */
13
14
15 public class FileOutputStreamDemo4 {
16
17     public static void main(String[] args) throws IOException {
18         //创建字节输出流对象
19         FileOutputStream fos = new FileOutputStream("fos3.txt");
20         //写入数据
21         for(int i=0; i<10; i++) {
22             fos.write(("Love"+i).getBytes());
23         }
24
25         //释放资源
26         fos.close();
27
28
29     }
30
31 }

运行效果如下:我们这里没有换行,不是我们想要的。

这里没有换行是因为你写入数据的时候,没有写入换行符,写入换行符即可。

(2)如何写入换行符?,如下:

 1 import java.io.FileOutputStream;
 2 import java.io.IOException;
 3
 4
 5 /**
 6  *
 7  *     如何实现数据换行?
 8  *        这里没有换行是因为你写入数据的时候,没有写入换行符,写入换行符即可。
 9  *
10  *不同系统的换行符不一样:
11  *        windows:\r\n
12  *        linux:\n
13  *        Mac:\r
14  *  而常见的高级记事本软件是可以识别任意换行符的(比如Eclipse自带记事本软件)
15  */
16
17
18 public class FileOutputStreamDemo4 {
19
20     public static void main(String[] args) throws IOException {
21         //创建字节输出流对象
22         FileOutputStream fos = new FileOutputStream("fos3.txt");
23         //写入数据
24         for(int i=0; i<10; i++) {
25             fos.write(("Love"+i).getBytes());
26             fos.write("\n".getBytes());
27         }
28
29         //释放资源
30         fos.close();
31
32
33     }
34
35 }

运行效果如下:

追溯到工程目录下,如下:

使用Notepad++打开,如下:

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

(3)修改代码如下:

 1 package com.himi.fileoutputstream;
 2
 3 import java.io.FileOutputStream;
 4 import java.io.IOException;
 5
 6
 7 /**
 8  *
 9  *     如何实现数据换行?
10  *        这里没有换行是因为你写入数据的时候,没有写入换行符,写入换行符即可。
11  *
12  *不同系统的换行符不一样:
13  *        windows:\r\n
14  *        linux:\n
15  *        Mac:\r
16  *  而常见的高级记事本软件是可以识别任意换行符的(比如Eclipse自带记事本软件)
17  */
18
19
20 public class FileOutputStreamDemo4 {
21
22     public static void main(String[] args) throws IOException {
23         //创建字节输出流对象
24         FileOutputStream fos = new FileOutputStream("fos3.txt");
25         //写入数据
26         for(int i=0; i<10; i++) {
27             fos.write(("Love"+i).getBytes());
28             fos.write("\r\n".getBytes());
29         }
30
31         //释放资源
32         fos.close();
33
34
35     }
36
37 }

运行之后发现,上面所有的记事本软件都换行了,包括windows自带的记事本软件,如下:

2. 如何实现数据的追加?

使用构造方法:FileOutputStream(String name, boolean append)

 参数append为true,表示追加;反之false为不追加

代码如下:

 1 package com.himi.fileoutputstream;
 2
 3 import java.io.FileOutputStream;
 4 import java.io.IOException;
 5
 6
 7 /**
 8  *  如何实现数据的追加写入?
 9  *    使用构造方法:FileOutputStream(String name, boolean append)
10  *    参数append为true,表示追加;反之false为不追加
11  */
12
13
14 public class FileOutputStreamDemo5 {
15
16     public static void main(String[] args) throws IOException {
17         //创建字节输出流对象
18         //FileOutputStream fos = new FileOutputStream("fos3.txt");
19
20         //FileOutputStream(String name, boolean append)
21         FileOutputStream fos = new FileOutputStream("fos3.txt",true);
22         //写入数据
23         for(int i=0; i<10; i++) {
24             fos.write(("Love"+i).getBytes());
25             fos.write("\r\n".getBytes());
26         }
27
28         //释放资源
29         fos.close();
30
31
32     }
33
34 }

运行效果如下:

时间: 2024-08-25 00:12:07

Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入的相关文章

Java基础知识强化之IO流笔记17:FileOutputStream构造方法使用

1. 可以参照之前写的笔记:   Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流) 2. FileOutputStream(常用的)构造方法: FileOutputStream(File file)           Constructs a new FileOutputStream on the File file. FileOutputStream(String filename)           Constructs a new FileO

Java基础知识强化之IO流笔记18:FileOutputStream写入数据

1. 创建字节输出流对象,做了几件事情: (1)调用系统功能去创建文件(2)创建fos对象(3)把fos对象指向这个文件 2. 代码示例: 1 package com.himi.fileoutputstream; 2 3 import java.io.File; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 /* 9 * 创建

Java基础知识强化之IO流笔记16:IO流的概述和分类

1. IO流的分类   流向:     (1)输入流:读取数据到内存     (2)输出流:写入数据到硬盘(磁盘)   操作的数据类型:    (1)字节流:操作的数据是字节                            输入流                            输出流        (2)字符流:操作的数据是字符,为了方便操作文本数据,Java就提供了字符流.                            输入流                      

Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)

1. Properties的概述  Properties:属性集合类.是一个可以和IO流相结合使用的集合类.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. Properties是Hashtable的子类,说明是一个Map集合. 2. Properties作为Map集合使用 1 package cn.itcast_08; 2 3 import java.util.Properties; 4 import java.util.Set; 5 6 /* 7 *

Java基础知识强化之IO流笔记61:标准输入输出流的本质

1. 标准输入输出流  System类中的两个成员变量: public static final InputStream in :"标准"输入流. public static final PrintStream out :"标准"输出流. 备注: InputStream is = System.in; PrintStream ps = System.out; 代码示例: 1 package cn.itcast_04; 2 3 import java.io.Print

Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例

1. 使用字节流FileInputStream / FileOutputStream 复制文本文件案例: 分析: (1)数据源:从哪里来 a.txt   --   读取数据  --  FileInputStream (2)目的地:到哪里去 b.txt   --   写数据    --   FileOutputStream 2. 代码示例: 1 package cn.itcast_03; 2 3 import java.io.FileInputStream; 4 import java.io.Fi

Java基础知识强化之IO流笔记68:Properties和IO流集合使用

1. Properties和IO流集合使用 这里的集合必须是Properties集合:  public void load(Reader reader):把文件中的数据读取到集合中  public void store(Writer writer,String comments):把集合中的数据存储到文件 2. 代码实现: 1 package cn.itcast_08; 2 3 import java.io.FileReader; 4 import java.io.FileWriter; 5 i

Java基础知识强化之IO流笔记42:IO流总结(图解)

1. IO流总结(图解)

Java基础知识强化之IO流笔记56:IO流练习之 登录注册IO版

1.  登录注册IO版的Java项目框架,如下: 2. 具体代码实现: (1)User.java(cn.itcast.game): 1 package cn.itcast.pojo; 2 3 /** 4 * 这是用户基本描述类 5 * 6 * @author 风清扬 7 * @version V1.1 8 * 9 */ 10 public class User { 11 // 用户名 12 private String username; 13 // 密码 14 private String p