第三次学JAVA再学不好就吃翔(part101)--IO流

学习笔记,仅供参考




IO流


IO流的概述及其分类


  • 概念
    • IO流用来处理设备之间的数据传输
    • Java对数据的操作是通过流的方式
    • Java用于操作流的类都在IO包中
    • 流按流向分为两种:输入流,输出流。
    • 流按操作类型分为两种:
      • 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的
      • 字符流 : 字符流只能操作纯字符数据。
  • IO流常用父类
    • 字节流的抽象父类:
      • InputStream
      • OutputStream
    • 字符流的抽象父类:
      • Reader
      • Writer
  • IO程序书写
    • 使用前,导入IO包中的类
    • 使用时,进行IO异常处理
    • 使用后,释放资源

FileInputStream


构造方法


FileInputStream(File file) 

通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定.


FileInputStream(String name) 

通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。


成员方法


  • read
public int read()

从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。 返回值为下一个数据字节,如果已到达文件末尾,则返回 -1。


举个例子


当前项目下创建yyy.txt:

abcde

读取yyy.txt文件内的全部数据:

package com.guiyang.bean;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Demo1_FileInputStream {

	public static void main(String[] args) throws IOException {
		FileInputStream fis = new FileInputStream("yyy.txt");
        //创建流对象
		int b;
		
		while ((b = fis.read()) != -1) {
			System.out.println(b);
		}
		fis.close();
	}
}

输出:

97
98
99
100
101

FileOutputStream


构造方法


FileOutputStream(File file) 

创建一个向指定 File 对象表示的文件中写入数据的文件输出流。


FileOutputStream(String name) 

创建一个向具有指定名称的文件中写入数据的输出文件流。


成员方法


  • write
public void write(byte[] b)

将 b.length 个字节从指定 byte 数组写入此文件输出流中。


public void write(byte[] b, int off, int len)

将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。


举个例子


  • 创建新文件,并写入内容

创建xxx.txt文件并写入abc:

package com.guiyang.bean;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo2_FileOutputStream {

	public static void main(String[] args) throws IOException {
		FileOutputStream fos = new FileOutputStream("xxx.txt");
		fos.write(97);
		fos.write(98);
		fos.write(99);
		fos.close();

	}
}

xxx.txt内输出:

abc

  • 在已有文件内追加内容

在xxx.txt中追加def:

package com.guiyang.bean;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo2_FileOutputStream {

	public static void main(String[] args) throws IOException {
		FileOutputStream fos = new FileOutputStream("xxx.txt", true);
		fos.write(100);
		fos.write(101);
		fos.write(102);
		fos.close();
	}
}

如果要在原文件内追加内容,就在构造方法的第2个参数传入true;如果不传入true,就会清空原文件,并写入新内容。


xxx.txt文件:

abcdef

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/107459832