//读取一个字节并以整数的形式返回(0-255)
//如果返回-1已到输入流的末尾
int read() throws IOException
//读取一系列字节并存储到一个数组buffer,//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1
int read(byte [] buffer) throws IOException
//读取length个字节
//并存储到一个字节数组buffer,从length位置开始
//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1
int read(byte [ ] buffer,int offset,int length)
throws IOException
//关闭流释放内存资源
void close() throws IOException
// 跳过 n个字节不读,返回实际跳过的字节数
long skip(long n) throws IOException
package com.io.liushuaishuai; import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamDemo01 { public static void main(String[] args) throws IOException { // FileInputStream(String name) // 通过打开与实际文件的连接来创建一个 FileInputStream , // 该文件由文件系统中的路径名 name命名。 FileInputStream fis = new FileInputStream("myIOstream\\fos.txt"); // read() 从该输入流读取一个字节的数据。 /*//第一次读取数据 int i = fis.read(); //System.out.println(i); System.out.println((char) i); //第二次读取数据 int k = fis.read(); //System.out.println(i); System.out.println((char) k); */ /* //到达文件末尾,返回值为-1; int i = fis.read(); while (i != -1) { System.out.print((char)i); i = fis.read(); } */ //优化上面的程序 int i; while ((i = fis.read()) != -1) { System.out.print((char) i); } fis.close(); } }
不需要人为加换行符
=============================================================================================================================================
字节流复制文本文件
package com.io.liushuaishuai; import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamDemo02 { public static void main(String[] args) throws IOException { //创建字节输入流对象 FileInputStream fis = new FileInputStream("myIOstream\\fos.txt"); /* byte[] bys = new byte[5]; //第一次读取数据 int i = fis.read(bys); System.out.println(new String(bys,0,i)); //第二次读取数据 i = fis.read(bys); System.out.println(new String(bys,0,i)); i = fis.read(bys); System.out.println(new String(bys,0,i)); */ byte[] bys = new byte[1024]; int len; while ((len =fis.read(bys)) != -1 ) { System.out.println(new String(bys,0,len));//
String(byte[] bytes, int offset, int length) |
通过使用平台的默认字符集解码指定的字节子阵列来构造新的
String 。
|
---|
} //释放资源 fis.close(); } }
字节流复制图片
package com.io.liushuaishuai; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyjpgDemo { public static void main(String[] args) throws IOException { //根据数据源创建字节输入流对象 FileInputStream fis = new FileInputStream("C:\\壁纸\\index.jpg"); //创建字节输出流对象 FileOutputStream fos = new FileOutputStream("myIOstream\\index.jpg"); //读取数据 byte[] bys = new byte[1024]; int len; while ((len = fis.read(bys))!= -1) { fos.write(bys,0,len); } fos.close(); fis.close(); } }