4.字节输入流
java.io.InputStream是所有字节输入流的超类:可以读取任何类型文件
●读取字节的方法read
。int read)读取单个字节,读取到流的末尾返回-1
。int read(byteD b)读取字节数组,读取到流的末尾返回-1
43.1 FileInputStream
●构造方法: FileInputStream(File file)
●构造方法: FileInputStream(String file)
。创建字节输入流对象绑定参数就是要读取的数据源文件
package com.sdjzu.IOStream.input;
import java.io.FileInputStream;
import java.io.IOException;
public class InputTest {
public static void main(String[] args) throws IOException {
readByte();
}
/*
* 读取单个字节
* */
public static void readByte() throws IOException {
//创建输入流对象,在构造器中写入源文件
FileInputStream fis=new FileInputStream("D:/1.txt");
//读取单个字节
/*int r=fis.read();
System.out.println("r = " + r);
r=fis.read();
System.out.println("r = " + r);*/
//循环读取单个字节
int r=0;
while((r=fis.read())!=-1){
System.out.println("r = " + r);
}
//释放资源
fis.close();
}
}
D:\developertool\Java\jdk1.8.0\bin\java.exe "-javaagent:D:\developertool\Java\IntelliJ IDEA 2021.2.2\lib\idea_rt.jar=59942:D:\developertool\Java\IntelliJ IDEA 2021.2.2\bin" -Dfile.encoding=UTF-8 -classpath D:\developertool\Java\jdk1.8.0\jre\lib\charsets.jar;D:\developertool\Java\jdk1.8.0\jre\lib\deploy.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\access-bridge-64.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\cldrdata.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\dnsns.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\jaccess.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\jfxrt.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\localedata.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\nashorn.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunec.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunjce_provider.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunmscapi.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunpkcs11.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\zipfs.jar;D:\developertool\Java\jdk1.8.0\jre\lib\javaws.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jce.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jfr.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jfxswt.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jsse.jar;D:\developertool\Java\jdk1.8.0\jre\lib\management-agent.jar;D:\developertool\Java\jdk1.8.0\jre\lib\plugin.jar;D:\developertool\Java\jdk1.8.0\jre\lib\resources.jar;D:\developertool\Java\jdk1.8.0\jre\lib\rt.jar;D:\developertool\Java\idea202122space\JAVAStage\out\production\module12-IOStream com.sdjzu.IOStream.input.InputTest
r = 97
r = 98
r = 99
r = 100
r = 103
r = 106
r = 99
r = 103
Process finished with exit code 0
package com.sdjzu.IOStream.input;
import java.io.FileInputStream;
import java.io.IOException;
public class InputArrayTest {
public static void main(String[] args) throws IOException {
method();
}
public static void method() throws IOException {
//创建输入流对象
FileInputStream fis=new FileInputStream("D:/1.txt");
byte[] bytes=new byte[2];
//读取
//循环
int r=0;
while((r=fis.read(bytes))!=-1){
System.out.print(new String(bytes,0,r));
}
//释放资源
fis.close();
/* int r=fis.read(bytes);
System.out.println("r = " + r);
System.out.println(new String(bytes));
r=fis.read(bytes);
System.out.println("r = " + r);
System.out.println(new String(bytes));
r=fis.read(bytes);
System.out.println("r = " + r);
System.out.println(new String(bytes));*/
}
}
D:\developertool\Java\jdk1.8.0\bin\java.exe "-javaagent:D:\developertool\Java\IntelliJ IDEA 2021.2.2\lib\idea_rt.jar=62124:D:\developertool\Java\IntelliJ IDEA 2021.2.2\bin" -Dfile.encoding=UTF-8 -classpath D:\developertool\Java\jdk1.8.0\jre\lib\charsets.jar;D:\developertool\Java\jdk1.8.0\jre\lib\deploy.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\access-bridge-64.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\cldrdata.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\dnsns.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\jaccess.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\jfxrt.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\localedata.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\nashorn.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunec.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunjce_provider.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunmscapi.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\sunpkcs11.jar;D:\developertool\Java\jdk1.8.0\jre\lib\ext\zipfs.jar;D:\developertool\Java\jdk1.8.0\jre\lib\javaws.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jce.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jfr.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jfxswt.jar;D:\developertool\Java\jdk1.8.0\jre\lib\jsse.jar;D:\developertool\Java\jdk1.8.0\jre\lib\management-agent.jar;D:\developertool\Java\jdk1.8.0\jre\lib\plugin.jar;D:\developertool\Java\jdk1.8.0\jre\lib\resources.jar;D:\developertool\Java\jdk1.8.0\jre\lib\rt.jar;D:\developertool\Java\idea202122space\JAVAStage\out\production\module12-IOStream com.sdjzu.IOStream.input.InputArrayTest
abcdg
Process finished with exit code 0