java学习笔记之文件输出流FileInputStream
写在开头
我是一名java小白,目前在B站学习java,学习的视频是尚学堂高琪老师的java300集课程,笔记大部分参考老师的随堂笔记,我仅以博客的方式记录下我的笔记代码和一些个人见解,对一些问题的考虑可能不周全,代码也不够好看,希望大家多多包涵,有意见的也可以在下面评论,我会好好总结错误,慢慢进步的。
jdk中的read方法介绍
1.public int read(byte[] b)
package learn.No173;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/*
* 分段读取
*
* */
public class IOtest03 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
InputStream in = null;
try {
in = new FileInputStream("test01");
byte[] len = new byte[4];// 设置每次要读取的数据的字节长度
int lenth = 0;// 每次要读入到byte中字节的长度
while ((lenth = in.read(len)) != -1) {// 字节数组转为字符串(解码)
String str = new String(len, 0, lenth);
System.out.println(str);
}
in.close();
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} finally {//释放资源
if (in != null)
try {
in.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
结果:(每次读取四个字节的长度)
2.public int read()
package learn.No173;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/*
* 输入流:InputStream或者Reader:从文件中读到程序中;
* 输出流:OutputStream或者Writer:从程序中输出到文件中;
* */
public class TestIO02 {
public static void main(String[] args) {
// 第一步:创建源
File file1 = new File("test01");
// System.out.println(System.getProperty("user.dir"));
// 第二步:选择流 两种构造方法
// 1:FileInputStream(File file) 通过打开与实际文件的连接创建一个 FileInputStream ,该文件由文件系统中的
// File对象 file命名。
// 2:FileInputStream(String name)通过打开与实际文件的连接来创建一个 FileInputStream
// ,该文件由文件系统中的路径名 name命名。
InputStream input = null;
try {
input = new FileInputStream(file1);
// 第三步:选择操作方法
int index;
while ((index = input.read()) != -1) {
System.out.println((char) index);
}
// 第四步:释放资源
input.close();
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} finally// 如果读取失败,也要进行释放资源的操作
{
try {
if (input != null)// 在资源使用之后才关闭资源
input.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
结果:(一个字节一个字节的输出)