IO 流

IO 流

一 概念

I :input   O :Output

IO意思是输入输出流

例子: 

    一个文档(text doc ),里面有一段字符串,利用JAVA语言把这一段字符加载到内存中,这个过程就是io,严格来说是流的输入

把内存中的一段内容保存到文本中,这个过程就是流的输出。

判断输入输出

  输入还是输出是相对于内存来说的,从内存----->文本 为输出

                                                           从文本------>内存  输入

输入输出不一定是针对字符串的,也可以是图片,完整的文件,完整的文档,音频,视频

通过微信 发表状态(图片+文字)都是用io流判断的

File是对文件的根目录进行操作

public class FileTest{

    public static void main(String [] args)throws IOException{

        /**参数 一般指向的是需要操作的文件路径

         */

         //File("D:\\a.txt")指的是文件所在位置,没有找的则创建此路径文件

        File  file = new Flie(" D:\\ a.txt");

         boolean newFile = false;

          //判断该文件是否存在

      if(!file.exists()){

      //创建文件

         newFile = file.createNewFIle();

          }

              System.out.println("newFile ="+newFile);

          File file = new File("D:\\a");

           //获取当前目录下的文件名字

          String[] ilst = file.list();

        / **

        * for循环的作用就是从数组(集合)中每次拿出来一个元素进行遍历

        * 设置临时变量i,每遍历一个元素,存放在设置的临时变量中,之后将临时变量打 印输出,就达到了集合遍历的效果

         */

          for(String s :list){ 

            System.out.println("s="+s);

        }

            // 提交作业

            // name.doc

            //写代码查询出来没有提交作业的学生名字

            // 保存到list集合中

           list<String> names = newArraylist<>();

           names.add("张三");

           names.add("李四");

           names.add("王五");

           names.add("赵六");

          list<>commitNames = new Arraylist<>();

         for(String s :list){

             int index = s.indexOf(".");

             String sub = s.substring(0,index);

             commitNames.add(sub);

           System.out.println("commitNames"+commitNames);

          }

            // 遍历所有已经交作业的集合,每次从commitNames中拿出来一个名字,看看这个名字在names中是否存在,如果存在,直接从names中移出,遍历结束后,剩下的全部是没有交的。

               for(String name: commitNames){

                    if(names.contains(name)){

                       names.removew(name);

                  }

                }

               System.out.println("names = "+ names);

              }

             }

          此题逻辑分析:文件A中存放学生作业(默认已经有学生交过作业),操作者B第一步要做的是通过创建File的对象,找到该文件在计算机中的根目录;第二步,通过名字检索该文件,将检索出来的名字放到String[]数组中;第三步,写代码将所有学生名字存放到list集合中;第四步,String数组和list集合的名字进行比较,list集合和String数组中共有的名字从String数组中删除,之后输出list集合中剩下的名字就是没有交作业的学生。

   

  

posted @ 2022-07-09 18:03  風浅  阅读(40)  评论(0)    收藏  举报