day22_IO流_键盘录入+转换流+流的操作基本规律+File对象

23-IO流(演示键盘录入).


这个系统流是不需要关的,如果要是其他流对象我关了以后,我再new一个,又可以用,这个标准的流不行,从系统获取的这个流对象就一个,你把这个系统流对象一关,这个流对象就再也用不了了,你再通过系统获取流对象就没有,所以你这个东西吧就不要关,随着系统的消失而消失,随着系统的出现而出现

默认的输入设备,和默认的输出设备都不需要关,,你关了就再也获取不了了,除非你重新启动

 

24-IO流(读取键盘录入)

 获取用户键盘录入的数据,

         * 并将数据变成大写显示在控制台上,

         * 如果用户输入的是over,结束键盘录入。

这个代码自己去完成试一下

25-IO流(转换流)

inputStreamReader,outputWriter的使用

26-IO流(转换流-需求演示)

 1,需求:将键盘录入的数据写入到一个文件中。

         *

         * 2,需求:将一个文本文件内容显示在控制台上。

         *

         * 3,需求:将一个文件文件中的内容复制到的另一个文件中。

代码自己去写

 

27-IO流(流的操作基本规律)

转换流:

InputStreamReader :字节到字符的桥梁。解码。

OutputStreamWriter:字符到字节的桥梁。编码。

 

流的操作规律:

之所以要弄清楚这个规律,是因为流对象太多,开发时不知道用哪个对象合适。

 

想要知道开发时用到哪些对象。只要通过四个明确即可。

 

1,明确源和目的(汇)

    源:InputStream  Reader

    目的:OutputStream  Writer

 

2,明确数据是否是纯文本数据。

    源:是纯文本:Reader

        否:InputStream

    目的:是纯文本 Writer

        否:OutputStream

   

    到这里,就可以明确需求中具体要使用哪个体系。

   

3,明确具体的设备。

    源设备:

        硬盘:File

        键盘:System.in

        内存:数组

        网络:Socket流

       

    目的设备:

        硬盘:File

        控制台:System.out

        内存:数组

        网络:Socket流

 

4,是否需要其他额外功能。

    1,是否需要高效(缓冲区);

        是,就加上buffer.

    2,转换。

 

28-IO流(流的操作基本规律-需求体现-1)

写出四个明确

需求1:复制一个文本文件。

需求2:读取键盘录入信息,并写入到一个文件中。

 

29-IO流(流的操作基本规律-需求体现-2)

 

同样写出四个明确

需求3:将一个文本文件数据显示在控制台上。

需求4:读取键盘录入数据,显示在控制台上。

 

30-IO流(转换流的编码解码)

Java内置的是uncode码表,对于字符类型的数据是用的uncode,,任何java识别的数据全都是uncode,但是字符串是用的gbk


5,将一个中文字符串数据按照指定的编码表写入到一个文本文件中.

 

transStreamDemo3.java

什么时候使用转换流呢?

 

    1,源或者目的对应的设备是字节流,但是操作的却是文本数据,可以使用转换作为桥梁。

        提高对文本操作的便捷。

    2,一旦操作文本涉及到具体的指定编码表时,必须使用转换流。

 

其他




31-IO流(File对象-构造函数&字段)

//可以将一个已存在的,或者不存在的文件或者目录封装成file对象。

        File f1 = new File("c:\\a.txt");

       

        File f2 = new File("c:\\","a.txt");

       

        File f = new File("c:\\");

       

        File f3 = new File(f,"a.txt");

       

        File f4 = new File("c:"+File.separator+"abc"+File.separator+"a.txt");

        System.out.println(f4);

32-IO流(File对象-常见功能-获取)

 File对象的常见方法。

         *

         * 1,获取。

         *     1.1 获取文件名称。

         *     1.2 获取文件路径。

         *     1.3 获取文件大小。

         *     1.4 获取文件修改时间。

 

我具体要做的就是演示这些方法

 

说一下:获取文件的父目录,如果你这个文件是相对路径的,获取的是空null,如果是绝对的话也E:\\java0331\\day22e

现在说一下文件修改时间的用处:

我现在有一个程序正在运行中,而且读取了一个文件中的数据,你将这个文件中的数据改写了,我正在运行,我希望的是你这个文件一旦有改写,我就重新读取你的数据,你怎么知道这个文件被改写了,就是通过修改时间来判定的,我加载完记录这个时间,我怎么判定这个时间变化,单独开一条线程这条线程专门用于监控文件的时间,每三秒监控一次,一旦发生时间值不一样了,就告诉哪边去读取数据,这就是lastmidfiy的用法之一

 

33-IO流(File对象-常见功能-创建和删除)

2,创建与删除。

34-IO流(File对象-常见功能-判断)

35-IO流(File对象-常见功能-重命名)

36-IO流(File对象-常见功能-系统根目录和容量获取)

37-IO流(File对象-常见功能-获取目录内容)

这个有点技术含量,单独说

38-IO流(File对象-常见功能-过滤器)


接下来你就会说,我想过滤这些隐藏文件,我就要非隐藏的怎么做,隐藏和非隐藏这不是过滤文件名,这是过滤文件,所以你就不能再用这个list方法了,应该用listFiles,这个返回一个file[],拿到了文件,再拿到文件名是不是很容易啊

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值