加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

Java中IO流,输入输出流概述与总结

发布时间:2020-12-31 13:39:51 所属栏目:运营 来源:网络整理
导读:副标题#e# 总结的很粗糙,以后时间富裕了好好修改一下。 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中。其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类; 而所有输出流

A:文件名称过滤器的概述

    public String[] list(FilenameFilter filter)     public File[] listFiles(FileFilter filter) 1 package com.ningmeng; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 6 public class FileTest { 7 8 public static void main(String[] args){ 9 File file=new File("C:UsersbiehongliPicturesCamera Roll"); 10 11 String[] str=file.list(new FilenameFilter() {//过滤器,匿名内部类 12 13 @Override 14 public boolean accept(File dir,String name) { 15 // TODO Auto-generated method stub 16 //System.out.println(dir);//获取文件的路径 17 //System.out.println(name);//获取文件的名字 18 File f=new File(dir,name); 19 return f.isFile() && f.getName().endsWith(".jpg"); 20 } 21 }); 22 for(String s : str){ 23 System.out.println(s); 24 } 25 26 } 27 }

7:下面以一些字节输入输出流具体的案例操作(操作的时候认清自己使用的是字节流还是字符流):

注意:read()方法读取的是一个字节,为什么返回是int,而不是byte 字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到222221111;那么这22222111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果22222111会在其前面补上;24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型

FileInputStream的单个字节读取:

FileOutputStream的单个字节写入:

1 package com.ningmeng; 2 3 import java.io.FileInputStream; 4 import java.io.FileOutputStream; 5 6 public class FileTest { 7 8 public static void main(String[] args) throws Exception{ 9 FileInputStream fis=new FileInputStream("aaa.txt"); 10 FileOutputStream fos=new FileOutputStream("bbb.txt",true); 11 //FileOutputStream()后面加true指文件后面可追加 12 13 int a=fis.read();//read()一次读取一个字节 14 System.out.println(a);//读取的一个字节输出 15 16 fos.write(101);//write()一次写一个字节 17 fis.close();//一定记得关闭流,养成好习惯 18 fos.close(); 19 } 20 }

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!