00:00
那么第三题,第三题我们看一下说呢,获取文本上的每个字符的个数。获取文本,这呢有个文本文件,比方说就是咱们的这个DBCP这个文件吧,这个文件,这个文件里边呢,我想获取每一个字符出现的次数。每一个字符。比如这个弦出现过几个弦,出现过几个F,出现过几个L,出现过几个逗号等等,这样子的怎么做?嗯,这个操作呢,有的人说好无聊啊,其实不无聊啊,嗯,这个我们还是比较有意义的啊,这样一个操作,像后续呢,大家接入大数据,也会我们统计一个文件当中具体的一些字符,具体一些单词啊,出现过多少次啊,这呢是有必要的啊,那下边我们怎么在当前咱们已有的知识基础上去做这个事儿。
01:03
你看下边呢,我写了一个提示,咱们呢需要去便利文本的每一个字符。然后呢,这个字符只要是一样的话,我们就得是累加了,不一样的话呢,你就重新再开一个,所以这块呢,我们就提到个结构叫map map中的key是不是就放你这个字符啊对,Y6的话呢,你就看这个,你就先怎么着呢,你往那个map里边呢,你先那个contents一下,看看它有没有这个字符,对吧,那没有没有,你是不是就put的时候呢,你VALUE6就记住它的次数写一样啊,那你回头呢,如果再来一个CT有吗?有有的话呢,这时候你在原有的这个值基础上把VALUE6是不是加加一下。这样诶,我们把这个数据呢,先都保存在咱们的map当中,那最后的话呢,你把这个数据在map里的个数据呢,是内存中的不保险,你再把map中的数据呢,再写到一个文件里面。这就是我们这记录这个叫也算呢,叫word count啊,每一个字符的就叫插count了,出现的这个个数,这个题的话呢,我这呢就不写了啊,这个具体这个实验过程呢,其实每一个知识点我们都讲过,这呢就是这道题的一个答案,我把这个呢,咱们粘过来啊,CTRLV我就放在这儿了。
02:18
哎,这呢就是我们刚才提的这三步啊,这呢造了一个这个map,哎,这呢是存放你这个字符,这个呢存放它的次数,呃这块呢,我们对应个文件就不妨呢,就是这个文件。啊,去读读一个,呃,具体的这一个字符,呃还原成是个叉看看呢,这个我们用这个contents啊,我去get也行,Get的话要没有那不就是no吗。对吧,你看你get这个key,没有这个key那不就是no吗?相当于你判断一下contains是不是一个,呃,是不是包含这个是个force一样啊,那那如果要没有,那我们就put一下,如果你要有,在原有的这个VALUE6的基础上再加加加加一下就加个一呗。
03:00
哎,这样一个循环,就把所有的这个字符出现的次数呢,就放到map里了,然后接下来呢,诶,我这儿呢,就是再通过一个叫buffer的writer,把它再写出去啊,我们写到一个文件,这个文件呢,我恰好也叫word count是一个TXT的文件。嗯,把这个数据呢,都写到这个文件里边,这呢,我们就去遍历这个map啊,看看这个map呢,Get key key到底是什么,我们这呢,也考虑到空格啊,这个指表符啊,这个叫回车换行符,包括呢,你还是一个普通的一个字符abcd啊,或者这个中文的一个汉字啊等等啊都往这走,哎,我们呢,写出去写一个K对应着一个value。哎,是这样,然后呢,写写完一个呢,换一个行,哎,就这样完事。啊,这个代码我就不写了啊,这个大家呢下来呢,你可以自己写一写,其实难度呢也不大,哎用了一下我们前面讲的集合,我们这块呢跑一下哎,这就搞定了,哎,因为这时候咱们用的这个就是DBCP了啊跑完以后这块呢就有个work打开。
04:02
那这呢,就关于每一个汉字,包括每一个符号,它出现的这个次数。是这样也可以了,那像这个实际当中也有一些应用场景,就是像这个,呃,以前不是有人判断说这个红楼梦后40回是不是这个曹雪芹写的啊,说还是别人谁写的,因为每个人呢,他自己的这个写作的话呢,他都有自己的一个套路,或者说自己的一个写作的习惯啊,经常呢爱用哪些字,那就是你把这个前80回经常爱出现的那些字跟后边后40回呢,你去分析一下,如果呢比较吻合,那基本上这就一个人的写作习惯啊,如果你要发现呢,这个有挺大的差距的,那就是两个人写的啊,就是相当于一种应用场景一样,是吧?啊一种技术的实现啊,行,那其实现在这个作家的话呢,呃,据说啊,说很多人都像以前都肯定是拿纸笔这样一个一个去写啊,说后来呢,这个作家不都是开始用电脑吧,就是这个打字呗,那速度要快一些啊。说现在还。
05:09
可以更快,就买一个这个科大讯飞不是模板,不是模板哈,买一个这个你的模板挂了是吧,买一个科大讯飞的那个VIP你就说就行,哎对你说然后他就直接给你写,就现在科大讯飞已经做的可以了啊,哎,对,就是你在这说,然后自动呢,就把你说的这内容就给你生成出来,而且呢,识别率很高,而且科大讯飞呢,他现在也在做这个地方的一些,比如四川话呀,什么湖南话呀,是吧,他也可以去识别出来的啊,这个还是挺强的啊,那这写小说就更快了啊行,那这呢是咱们这个课后的这两道问题,咱们就过了。
我来说两句