JavaSE - Day20 (流的分类及其使用案例)

概念:

        用来传输数据的管道

作用:

        传输数据

        从别地方的的数据,文件,内存等传输到程序中

        或者

        将程序中的数据传输到别的地方

分类

按照流向分类:

        输入流: 将数据从别的地方传输给程序

        输出流: 将程序中的数据 传输给别的地方

按照传输的最小数据单位来分类:

        字节流:

                传输的最小单位就是byte

           注意:它可以传输任何数据

        字符流:

                传输的最小单位就是字符char

           注意:它只能传输文本内容,不能传输视频,音频,图片等

 按照功能来分类
        节点流: 不会对数据进行加工

        过滤流: 会对数据进行加工

字节流:

体系

        InputStream 是所有输入流的父类

        OutputStream 是所有输出流的父类

        常用子类

                文件字节流:

                        作用:

                                将程序中的数据传输给文件

                                或者

                                将文件中的数据传输给文件

                        FileInputStream: 将文件中的数据传输给程序

                        FileOutputStream: 将程序中的数据传输给文件

                内存字节流

                缓冲流

                对象流

InputStream 提供的方法:

        int read()

        读取一个字节的数据,返回值就是数据读取到的数据

        int read(byte[] b)

        读取一组数据到b 中,返回值就是读取到数据的长度

        int read(byte[] b , int off ,int len)

        读取一组数据到b 中去,开始位置为off , 数据个数为 len

        void close()

        关闭流

OutputStream 提供的方法:

        void write(int b)

                输出一个字节的数据,参数就是输出数据

        void write(byte[] b)

               输出一组字节数据,参数就是输出的内容

        void write(byte[] b , int off ,int len)

                将数据b 中的数据从 off 开始向外输出len 个

        void close()

                关闭流

拷贝文件

public static void main(String[] args) throws IOException {
		/*
		 * 对文件的拷贝
		 * 	1.将文件中的内容利用输入流输入到程序中
		 * 	2.将程序中的内容在利用输出流写入到文件中
		 */
		FileInputStream inputStream = new FileInputStream("D:\\桌面\\Day06.txt");
		FileOutputStream outputStream = new FileOutputStream("D:\\拷贝作业.txt" , false);
		
		byte[] b = new byte[1024];
		int len = 0;
		while ((len = inputStream.read(b)) != -1) {
			
			String string = new String(b, 0, len);
			byte[] bytes = string.getBytes();
			
			outputStream.write(bytes);
			
		}
		inputStream.close();
		outputStream.flush();
		outputStream.close();
		System.out.println("OVER");
	}

 /*
 * file 类
 *     1.createNewFile() // 创建一个新的文件
 *     2.MKdir()                 //创建一个新目录 MKdirs() 多级文件夹
 *     3.Delete()                 //删除一个文件 或者 空目录
 *     4.Exists()                 //判断file对象所代表的对象是否存在
 *     5.getAbsolutePath()     //获取文件的据对路径
 *     6.getName()             //获取文件名字
 *     7.getParent()             //获取文件或者目录所在的目录
 *     8.isDerectory()         //是否是目录
 *     9.isFile()                 //是否是文件
 *     10.length()             //获取长度
 *     11.listFiles()             //列出目录中所有内容
 *     12.renameTo()             //修改文件名为
 */

public class Demon04 {
    public static void main(String[] args) {
        File file = new File("F:\\JavaEE2205class\\资料\\html\\Day05\\视频");
        File[] listFiles = file.listFiles();
        for (File file2 : listFiles) {
            System.out.println(file2);
            
        }
        String name = file.getName();
        System.out.println(name + "555");
        
//        boolean mkdir = file.mkdir();
        long length = file.length();
        System.out.println(length);
        
        
    }
    
    public void bl() {
        File file = new File("D:\\");
        file.listFiles(new FileFilter() {
            
            @Override
            public boolean accept(File pathname) {
                if (pathname.getName().endsWith("txt")) {
                    return true;
                }
                return false;
            }
        });
        
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值