文件1:IODemoInput.txt
和IODemo.java在同在src的文件夹里,所以在IODemo.java里需要
"src\\IODemo1Input.txt"
这里src\\就是文件地址细节
文件的内容是一段歌词。
文件2:IODemo.java
文件的读入和输出。
读入:先创建一个file,再创建一个BufferedReader。
或者也可以像Demo2中直接在BufferedReader里创建file,无需再创建一个file对象。
这个文件干了三件事情,分别表现在三个方法里。
Demo1,展示最简单的文件读入,并将文件内容分行输出。
Demo2和Demo3就和文件读入没什么关系了,主要是博主闲着写的。
Demo2把文件内容中的所有单词整理成一个集合(注意集合是需要去掉重复元素的),并且按照字典序从小到大输出。这个过程中用到了Set类、TreeSet类、ArrayList类、Collections类、正则表达式和C语言形式的标准化输出。输出时每个单词占8个长度,靠左,不足部分用空格补齐,每10个单词换一行
Demo3把文件内容中的所有单词整理成一个集合,并且从小到大输出。其中,第一比较级是单词长度,第二比较级是字典序。
此外,Demo3在文件夹中创建了一个新的文件IODemoOutput.txt,Demo3将会输出在这个文件中。具体用到的类是FileWriter,貌似BufferedWriter类也可以。
这里多提一嘴,一开始自学的时候发现Demo3文件创建成功后怎么也无法输出,原来是FileWriter输出其实是输出到缓冲区,仍然需要flush(第78行),这一步就是把缓冲区的内容输出到文件中。
文件3:StreamDemo.java
Stream意为流,我认为在Java中是一个相当特别的存在,所以在这个文件中,我分条写了总共有7个demo!流有什么用我就不细介绍了,Internet上很多,我就说我写的几个demo。
Demo1
stream的建立,一个最简单的小demo
Demo2
和Demo1一样的,不过Demo1用到的是ArrayList,而这里用的是TreeSet
Demo3
forEach遍历器和filter过滤器演示
Demo4
map演示,顺便用到正则表达式
Demo5
匹配演示,是关于anyMatch、allMatch和noneMatch的
Demo6
reduce演示
Demo7
collect演示
文件4:GUIDemo.java