Java修炼——FileInputStream和FileOutputStream

文件字节流FileInputStream是读文件内容
有一下五个方法
1) abstract int read( );
2) int read( byte b[ ] );
3) int read( byte b[ ], int off, int len );
4) int available( );
5) close( );

package com.bjsxt.ioproject;

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

public class TestInputStream {
	public static void main(String[] args) throws IOException {
		//1.数据源与应用程序之间搭建管道
		FileInputStream fStream=new FileInputStream(new File("F:\\***\\资料\\a.txt"));
		//2.从数据源开始向程序中读数据
	    int count =fStream.available();
	    System.out.println(count);
	    //一次读一个字节
//	    System.out.println( fStream.read());//读取一个字节
//	    System.out.println(fStream.available());//还有25个字节等待读取
	    int buf=0;
	    int count1=0;
	    while ((buf=fStream.read())!=-1) {
	    	count1++;
	    	System.out.print((char)buf);
		}
	    System.out.println("\n"+count1);
	    fStream.close();
	}
}

Java修炼——FileInputStream和FileOutputStream_第1张图片
Java修炼——FileInputStream和FileOutputStream_第2张图片

使用 FileOutputStream
1) abstract void write( int b );
2) void write( byte b[ ] );
3) void write( byte b[ ], int off, int len );
4) void flush( );
5) void close( );

package com.bjsxt.ioproject;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class TestOutputStream {
	public static void main(String[] args) {
		FileOutputStream fOutputStream=null;
		try {
			fOutputStream = new FileOutputStream(new File("F:\\***\\资料\\a.txt"),true);
			byte [] b ="qwerwasd".getBytes();
			fOutputStream.write(b);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			if (fOutputStream!=null) {
				fOutputStream.close();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

运行前:
Java修炼——FileInputStream和FileOutputStream_第3张图片

运行后:
Java修炼——FileInputStream和FileOutputStream_第4张图片
补充说明:

fOutputStream = new FileOutputStream(new File("F:\\***\\资料\\a.txt"),true);

true表示是在文件原有的内容之上增加内容。如果不写,则是替换原有内容。覆盖内容。

你可能感兴趣的:(Java学习,不忘初心,方得始终)