/*
* InputStream:所有字节输入流的抽象类
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;
public class D2 {
InputStream in;
void readmethod1() throws Exception {
byte[] b=new byte[30];
in=new FileInputStream("D:\\zuoye/o.txt");
/**使用FileInputStream读取文件数据的步骤:
*1、找到目标文件。
*2、建立数据的输入通道。
*3、读取文件中的数据。
*4、关闭资源。
**/
in.read(b);//一次性读到byte中
in.close();
System.out.println("1----"+new String(b));
}
void readmethod2() throws Exception {
byte[] b=new byte[5];
in=new FileInputStream("D:\\zuoye/o.txt");
in.read(b, 2, 3); //一次性读多少个字节到byte中,从哪个下标开始存
in.close();
System.out.println("2-----"+new String(b));
}
void readmethod3() throws Exception {
int i;
in=new FileInputStream("D:\\zuoye\\o.txt");
OutputStream out=new FileOutputStream("D:\\zuoye/r.txt");
while((i=in.read())!=-1) {
out.write(i);
}
out.close();
in.close();
}//将o的内容写给r
void readmethod4() throws Exception {
in=new FileInputStream(new File("D:\\zuoye/w.txt"));
Scanner sc=new Scanner(in);
String str=null;
while(sc.hasNext()){
str=sc.nextLine();
System.out.println("4----"+str);
}
sc.close();
in.close();
}
void readSkipmethod() throws Exception {
byte[] b=new byte[8];
in=new FileInputStream("D:\\zuoye/text.txt");//内容123456789
System.out.println(in.available());//获取文件大小字节数
in.skip(2);//跳过2个字节
in.read(b);
in.close();
System.out.println(new String(b));
}
public static void main(String[] args) throws Exception{
D2 in=new D2();
in.readmethod1();
in.readmethod2();
in.readmethod3();
in.readmethod4();
in.readSkipmethod();
}
}
1----faffhj程新7758258
2------faf
4----5211314
4----复活节啊回复
9
3456789