File 对象
InputStream
InputStream
是Java标准库提供的最基本的输入流 ( 输入内存 )
int read()
这个方法会读取输入流的下一个字节,并返回字节表示的
int
值(0~255)。如果已读到末尾,返回-1
表示不能继续读取了
int read(byte[] b)
:读取若干字节并填充到byte[]
数组,返回读取的字节数int read(byte[] b, int off, int len)
:指定byte[]
数组的偏移量和最大填充数利用上述方法一次读取多个字节时,需要先定义一个
byte[]
数组作为缓冲区,read()
方法会尽可能多地读取字节到缓冲区, 但不会超过缓冲区的大小。read()
方法的返回值不再是字节的int
值,而是返回实际读取了多少个字节。如果返回-1
,表示没有更多的数据了
OutputStream
OutputStream
是Java标准库提供的最基本的输出流 (从内存输出)
void write(int b)
这个方法会写入一个字节到输出流。要注意的是,虽然传入的是
int
参数,但只会写入一个字节,即只写入int
最低8位表示字节的部分(相当于b & 0xff
)
public void writeFile() throws IOException {
OutputStream output = new FileOutputStream("out/readme.txt");
output.write(72); // H
output.write(101); // e
output.write(108); // l
output.write(108); // l
output.write(111); // o
output.close();
}
void write(byte[])
public void writeFile() throws IOException {
OutputStream output = new FileOutputStream("out/readme.txt");
output.write("Hello".getBytes("UTF-8")); // Hello
output.close();
}