Io概述和使用
IO流分类:
根据数据流向:
输出流:写数据
输入流:读数据
根据数据类型来分:
字符流:window自带记事本软件打开,能看懂的,可以用字符流。分为输入字符流和输出字符流。
字节流:看不懂的,万能的,都可以用字节流。分为,输入字节流和输出字节流。
字节流输入数据:
字节流抽象基类;
InputStream:该抽象类表示表示所有字节输入流的超类
OutputStream:该抽象类表示所有字节输出流的超类
子类名特点:子类名称会以父类名称作为子类的后缀名。
FileOutputStream:文件输出流将数据写入文件。
使用字节输出流写数据的步骤:
创建字节输出流的对象(调用系统功能创建文件,创建字节输出流对象,让字节输出流对象指向文件。)
调用字节输出流的写方法
释放资源:关闭字节输出流和与此相关的系统资源。
练习代码:
package File_Demo;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStream_demo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建字节输出流对象
FileOutputStream file = new FileOutputStream("D:\\JAVA\\Java.txt");
//字节输出流的写方法
file.write(97);
//释放资源
file.close();
}
}
字节输出流写数据三种方法:
- void write(int b);一次写一个字节
- void write(byte[] b):一次写一个字节数组
- void write (byte[] b,int off,int length):从偏移量到length,写字节数组
package File_Demo;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStream_demo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建字节输出流对象
FileOutputStream file = new FileOutputStream("D:\\JAVA\\Java.txt");
//字节输出流的写方法
//第一种:
file.write(97);
//第二种
byte[] b = {97,98,99,100,101};
file.write(b);
System.out.println();
byte[] b1 = "abcde".getBytes();
file.write(b1);
System.out.println();
//第三种
file.write(b,1,3);
//释放资源
file.close();
}
}