00:00
好,那么接着说下一个啊,下一个呢,叫做打印流,这个呢,也是大家作为一个了解就可以了啊打印流这个打印流的话呢,这里提到了两个啊,一个呢叫print stream,再一个呢叫print writer。嗯,目前呢,好像咱们讲的这个流啊,似乎都是成对出现的。像包括咱们刚才讲标准的输入输出流这个成对的话呢,而且通常情况下呢,都是是一个输入一个输出啊,嗯,像这种啊啊一个输入一个输出,一个输入一个输入,一个输入一个输出,一般都是这种配对,但是你会发现呢,打人流这块不一样,它是输出,它也是输出。你要非要说他俩一对,那他俩呢,其实就像同性恋了,都是输出的是吧,那其他的话呢,都是一个输入一个输出这样配对的啊,那这俩呢,比较特别啊,注意一下打印打印你不就得输出吗。没有输入啊,那打印怎么能输入呢?那扫描仪那是是吧,扫描仪现在输入啊,打印机那不都是输出的功能吗?诶这呢,对应的两个print stream和print。
01:10
那一看这个就是一个数字符的这个字节。哎,这样子啊行,那关于这两个这两个流呢,哎,我们呢,稍微提一下。嗯,那如果呢,咱们需要呢,去输出像基本数据类型啊,这个这个这样的一些数据啊,转换成字符串输出啊,这个呢,其实呃是打印的话呢,我们可以做一个转换了啊,就像咱们这个print烂的时候啊,你可以写个123啊等等啊,这个不是中心,主要呢,我们看下边说打印流print stream和print writer。说呢,他们提供了一系列重载的print和printline方法,用于多种数据类型的一个输出。啊,用于多种数据类型的输出啊,不会抛异常自动的flash,哎,输到控制台,诶等等等等这个事儿,其实这块呢,我们直接回到,诶咱们这块可以看一下哈,system.out它其实就是一个print stream。
02:08
这个print stream下边呢,有很多重载的print方法和方法。其实我们在第一天就用到过print stream。哎,就是在咱们写这个哎system.out.print line的时候,这个printline的方法你点一下,其实就是咱们打印流中的。方法,嗯,咱们呢,呃,你调各种各样的print line方法说呢,我可以呢,Print line里边写一个123,其实你调的是这个方法,写一个12.3啊,你调的是呃,是我们这个double的这个方法,你可以写一个差型数组,写个叉,写个布尔来写一个object,比如说打印一个person,写一个P,嗯,打印一个字符串,Hello word,其实呢,你是掉了我们这里边重载的各个方法。啊,仅此而已。啊,那默认呢,咱们刚才写的啊,我system表out呢,这是一个标准的一个打印流,它呢是从控制台输出的啊,那你这块铺烂,那自然而然的我们就会从这个位置显示出来。
03:13
所以呢,大家在这块写一个hello word,你会看到这个控制台呢,就给输出了。啊,就给输出了啊,那这块的话呢,我们这有一个代码,这个大家呢,你就看一下这个代码就行,你看我们这个代码要做什么事啊,CTRLCL一下,那这个呢,是咱们写的这个第一个啊,标准的输入输出流啊第二个。啊,这个叫打印流。嗯,打印流啊,提到的是这两个。诶和print叫writer首啊首先2.1啊这块的话呢,我们就提到这个打印轴,诶可以呢,去输出各种各样类型的这个数据啊,它呢提供了啊一系列重载的啊叫print啊和。
04:05
哎,Print LA啊这样的一个方法啊,哎,然后呢,我们看一个练习,哎,这个呢,大家就看一看。这个是这个代码啊。CTRLX。哎,你看我们这个练习呢,是做了一个什么事。CTRLV行拿过来了啊,Ctrl shift f啊,它是这个格式,嗯,看一下啊。看这这呢,我是一个打印流,先不用管,先看这,哎,我们这是一个输出流。输出到哪呢?输入到我D盘IO下一个test.txt这个文件里。哎,这呢是一个打印流,下边呢说打印流要是不是no,我们这就set一下out,哎,这呢是一段代码,然后这块呢又是一段代码,后边呢只是把这个流呢给关了一下。
05:03
哎,我们先怎么着呢,我先把上面这块逻辑呢,这个给大家注释一下。我先把这块逻辑呢注释一下,那你注释完以后呢,你这也没什么异常了,那不妨呢,我们就把这个呢也都注释了,这个注释了以后,你上边这块呢,也都注释掉得了。不报不报错了啊,那现在呢,我们这个方法里其实就这样一段代码,你看我们这段代码是干什么事啊。我从零到255。哎,我现在呢,想把这个对应的二次码呢,都输出一下,嗯,首先呢,对应的每一个I,我转化成是一个叉。哎,转化成是一个叉,转化完以后的话呢,我们直接呢就print了,那问现在我print到哪了。是不是就到这儿了,哎,就到这儿了啊,然后下边这个操呢,就是每隔这个50个的话呢,我们就换一行,都显示到一行呢,有点不太好看了,行这个代码我们跑一下。
06:05
哎,这没啥疑问啊,这不就这样吗?哎,像这里边呢,这不abcd这65开头的,哎这不就从这个,这是97开头的这样一些还有其他的一些符号呢,我们就平时都没用过啊行这呢,咱们这不就把这里边这个数据呢就打印出来了,现在呢,我们c.out.la.print都是打印到这儿的,这个很清楚啊,那现在你看做什么事啊,我呢把上面打开,把这块呢有异常,还有打印流啊,这个关闭我们都加上了,我上面核心呢是做了一个print,呃,system.set out,诶刚才我们提过说这个,呃set out呢,可以重新指定一个打印流,就不让它呢从控制台呢去输出了。哎,我set out就是一个,哎print stream,这个print stream呢,哎,我们在这new的对象,它还可以自动的去做一个flash操作啊写成个true,这呢,我们打印到哪儿呢,本质上就是这个流,这个流呢对应的文件在这。
07:05
这个文件的话呢,呃,一开始不存在没事,但是要注意这个文件目录得在啊。文件目录要不在的话呢,不会帮我们造目录,那我看看我地盘,哎,我恰好在。恰好在啊,这个IO的话呢,在咱们Windows当中呢,它是不区分大小写的,所以这小写大写这无所谓。那IG当我们重新的set out以后,我再去system system.out.print的时候呢,注意此时呢,就不会再从我们控制台做一个输出了。就就会把我们这个数据呢,写入到我们的一个文件当中,你看我们执行。那搞定了,那这就没有输出了,然后呢,你看一下我们L这不有个test吗?打开在这呢,哎,就通过这个例子呢,大家去体会一下哦,打印流是这个意思啊。那这个打印流呢,咱们通常呢,还会跟我们这个system.out set out这块呢,做一个搭配使用。
08:04
那回头呢,如果大家有需求,什么需求呢?就是你想把这个输出的这个数据不想从控制台广看一下,你想给它保存下来,你就可以呢,调我们这个赛道的方法,重新指定一个新的打印位置,让它呢存到一个文件当中啊,这样你就保存下来了。OK,那通过这个例子呢,我们相当于把这个打印流,这两个呢,就给大家说明了一下。
我来说两句