JAVA中的串流(stream)读写

**

常用的串流类:

  • FileOutputStream / FileInputStream
  • ObjectOutputStream / ObjectInputStream

一、将序列化对象写入文件

1、创建出FIleOutputStream

FileOutputStream fileStream = new FileOutputStream("MyGame.ser");

2、创建出ObjectOutputStream

ObjectOutputStream os = new ObjectOutputStream(fileStream);

3、写入对象

os.writeObject(characterOne);
os.writeObject(characterTwo);
os.writeObject(characterThree);

4、关闭ObjectOutputStream

os.close();

二、将字符串写入文本文件

1、导入java.io.*;

import java.io*;

2、文件写入代码需要包括在try-catch块里面
3、实例化FileWriter

FileWriter writer = new FileWriter("Foo.txt");

4、记得关闭

writer.close();

完整代码:

import java.io.*;
class WriterAFile{
	public static void main(String[] args)
	{
		try{
			FileWiter writer = new FileWriter("Foo.txt");
			writer.write("Hello foo!");
			writer.close();
		}catch(IOException ex)
		{
			ex.printStackTrace();
		}
	}
}

三、缓冲区

缓冲区的意义:你可以通过FileWriter来写入文件,也可以先写入BuffereWriter(缓冲区),再通过缓冲区链接FileWriter写入文件。看似缓冲区有点多余,但是直接使用FileWriter进行写入是对磁盘进行操作,而对缓冲区进行写入是对内存进行操作。每趟对磁盘操作会比进行内存操作花费更多时间。而先写入缓冲区,就类似去超市购物带了购物车,当装满了再去付钱会比拿一件商品付一次钱方便很多。

1、导入java.io.*

import java.io.*;

2、创建File类

File myFile = new File("MyText.txt");

3、创建FileReader类

FileReader fileReader = new File(myfile);//参数为上个文件对象

4、创建BufferedReader类

BufferedReader reader = new BufferedReader(fileReader);

5、使用BufferedReader类的readLine()方法

while((line = reader.readLine())!=null){
	System.out.println(line);
}

注:以上全部代码均要放在try-catch块中

完整代码:

import java io.*;
class ReadAFile{
	public void main(String[] args){
		try{
			File myFile = new File("MyText.txt");
			FileReader fileReader = new File(myfile);//参数为上个文件对象
			BufferedReader reader = new BufferedReader(fileReader);
			String line =null;
			while((line=reader.readerLine())!=null){
			System.out.println(line);
			}
			reader.close();
		}catch(IOException ex){
			ex.printStackTrace();
		}
	}
}
发布了27 篇原创文章 · 获赞 2 · 访问量 680

猜你喜欢

转载自blog.csdn.net/qq_44273739/article/details/104419332