02-04
流是字节序列的抽象概念
文件是数据的静态存储形式,流是数据传输时的形态
流类:节点流类和过滤流类(处理流)
InputStream:所有输入流的抽象类。方法
int read()
int read(byte[] b)
int available()
int
read
(byte[]
b, int
off, int
len)
long skip
(long
n)
void
reset
()
void
mark
(int
readlimit)
boolean
markSupported
()
void close()
OutputStream:所有输出流的抽象类。方法
void write(int b)
void write(byte[] b)
void write(byte[] b,int off,int len)
void flush()
void close()
02-05
FileInputStream:指定的文件应该是存在和可读的
FileOutputStream:文件如果存在,则将覆盖原文件内容
主要用于读写二进制格式数据
例子:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileStream {
public static void main(String[] args) throws IOException {
FileOutputStream out =new FileOutputStream("hello2.txt");
out.write("lideguo zai xue xi zhong".getBytes());
//out.close();
byte[] buf=new byte[1024];
File f=new File("hello2.txt");
FileInputStream in=new FileInputStream(f);
int len=in.read(buf);
System.out.println(new String(buf,0,len));
}
}
Read 和Writer类:是所有字符流类的基类,用于简化对字符的输入和输出
二进制文件和文本文件的区别:文本文件时二进制文件的特例。
例子:import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileSteam2 {
public static void main(String[] args) throws IOException {
FileWriter out=new FileWriter("hello33.txt");
out.write("my name is lideguo");
out.close();
char[] buf=new char[1024];
FileReader in=new FileReader("hello33.txt");
int len=in.read(buf);
System.out.println(new String(buf,0,len));
}
}