FileInputStream(String name) 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。
1.创建字节输入流对象
2.调用字节输入流对象的读数据方法
3.释放资源
public class FileInputStreamDemo01 {
public static void main(String[] args) throws IOException {
// 1.创建字节输入流对象
FileInputStream fis =new FileInputStream("C:\\Users\\PCTC\\Desktop\\file\\map.txt");
// 2.调用字节输入流对象的读数据方法
// int read() 从该输入流读取一个字节的数据。
// int by = fis.read();
// System.out.println(by);
// System.out.println((char)by);
//如果达到文本末尾 -1
// while (by != -1){
// System.out.print((char)by);
// by =fis.read();
// }
//优化
int by;
while ((by = fis.read()) != -1){
System.out.print((char)by);
}
// 3.释放资源
fis.close();
}
}
FileInputStream(String name) 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。
1.创建字节输入流对象
2.调用字节输入流对象的读数据方法
3.释放资源
public class FileInputStreamDemo02 {
public static void main(String[] args) throws IOException {
// 1.创建字节输入流对象
FileInputStream fis =new FileInputStream("C:\\Users\\PCTC\\Desktop\\file\\java.txt");
// 2.调用字节输入流对象的读数据方法
/* 常规写法
//int read(byte[] b) 到 b.length 字节的数据从流中读取此输入到一个字节数组。
byte[] bys = new byte[5];
//第一次读数据
int len = fis.read(bys);
System.out.println(len);
//String(byte[] bytes)
// System.out.println(new String(bys));
System.out.println(new String(bys,0,len));
//第二次读数据
len = fis.read(bys);
System.out.println(len);
// System.out.println(new String(bys));
System.out.println(new String(bys,0,len));
//第三次读数据
len = fis.read(bys);
System.out.println(len);
// System.out.println(new String(bys));
//int read(byte[] b, int off, int len) 到 len 字节的数据从流中读取此输入到一个字节数组。
System.out.println(new String(bys,0,len));
// Hello\r\n
Word\r\n
//第一次 Hello
//第二次 \r\rWor
//第三次 d\r\n
//所以 len是实际读取到的数据个数
// 再多读两次
len = fis.read(bys);
System.out.println(len);
len = fis.read(bys);
System.out.println(len);
//len的值为-1 当实际读取长度为-1表示读完了
*/
//使用循环读取
byte [] bys= new byte[1024];
int len;
while ((len = fis.read(bys)) != -1){
System.out.print(new String(bys,0,len));
}
// 3.释放资源
fis.close();
}
}
* 思路:
1 :根据数据源创建字节输入流对象
2:根据目的地创建字节输出流对象
3:读写数据,复制图片(一次读取一个字节数组,-次写入一个字节数组)
4:释放资源
public class FileInputStreamDemo03 {
public static void main(String[] args) throws IOException {
// 1 :根据数据源创建字节输入流对象
FileInputStream fis = new FileInputStream("C:\\Users\\PCTC\\Desktop\\file\\1.png");
// 2:根据目的地创建字节输出流对象
FileOutputStream fos = new FileOutputStream("C:\\Users\\PCTC\\Desktop\\file\\JavaSE\\1.png");
// 3:读写数据,复制图片(一次读取一个字节数组,-次写入一个字节数组)
byte[] bys = new byte[1024];
int len;
while ((len = fis.read(bys)) != -1){
fos.write(bys,0,len);
}
// 4:释放资源
fis.close();
fos.close();
}
}