传奇哥配置文件 Maven git 8.26 第二阶段

早上run狂神的贪吃蛇。自己开始练项目 1小时写出来

晚上2小时 成功完成!
gitee配置不成功,明天问老师 自己创建个仓库。 https://gitee.com/
设计个tedu /tmooc 的网站项目

maven配置 改镜像国内ali->下载git->配置idea->老师的gitee 实时同步

自己的代码

传奇哥配置文件 Maven git 8.26 第二阶段

早上run狂神的贪吃蛇。自己开始练项目 1小时写出来

晚上2小时 成功完成!

改jdk1.8 UTF-8

上课内容 File 、IO流 、lambda表达式
自己的代码

package file;

import java.io.File;
import java.io.IOException;

/**
 * 使用File创建一个新文件
 */
public class CreateNewFile01 {
    public static void main(String[] args) throws IOException {
        //在当前项目目录下新建一个文件test.txt
        File file = new File("./test.txt");//如果创建的文件路径不存在,文件就无法创建,报错java.io.IOException: 系统找不到指定的路径
        file.exists();//判断 文件是否存在
        System.out.println(file.exists());
        if(file.exists()){
            System.out.println("文件存在");
        }else{
            file.createNewFile();//alt+enter +add exception...
            System.out.println("文件已经创建");
        }
    }
}
package file;
import java.io.File;
public class DeleteDir01 {
    public static void main(String[] args) {
        //将当前项目目录下的demo目录删除
        File dir = new File("./a");
        if (dir.exists()){
            dir.delete();//delete方法删除目录的前提是空目录
            System.out.println("目录已经删除!");
        }else{
            System.out.println("目录不存在!");
        }
    }
}
package file;

import java.io.File;

/*
删除一个文件
 */
public class DeleteFile01 {
    public static void main(String[] args) {
        //向当前项目目录下的test.txt文件删除
        File file = new File("test.txt");
        if(file.exists()){
            file.delete();
            System.out.println("文件已经删除!");
        }else{
            System.out.println("文件不存在!");
        }
    }
}
package file;
import java.io.File;
/**
 * java.io.File
 * File可以用来表示硬盘上的一个文件或目录(一个抽象路径)
 * 使用File可以:
 * 1.访问文件、目录的属性信息
 * 2.创建和删除文件或目录
 * 3.访问一个目录的所有子项
 * File不能访问文件数据
 */
public class File01 {
    public static void main(String[] args) {
        File file = new File("./demo.txt");// ./相对于此项目下的当前目录
        long len = file.length();
        System.out.println("len有"+len+"个字节");//获取文件大小,单位字节
        System.out.println("===================");
        String name = file.getName();//获取名字
        System.out.println("名字:"+name);
        boolean cr = file.canRead();
        System.out.println("可读:"+cr);
        boolean cw = file.canWrite();
        System.out.println("可写:"+cw);
        boolean ih = file.isHidden();
        System.out.println("隐藏:"+ih);


    }
}
package file;
import java.io.File;
public class ListFile01 {
    public static void main(String[] args) {
        File dir = new File(".");
        //访问一个目录的所有子项
        /**
         * boolean isFile()
         * 判断当前File对象表示是否是一个文件
         * boolean isDirectory()
         * 判断当前File对象表示是否是一个目录
         */
        if(dir.isDirectory()){
            System.out.println(dir.getName()+":是一个目录");
            File[] subs = dir.listFiles();
            /**
             * File[] listFile()
             * 获取当前File对象表示的目录中的所有子项
             * 返回数组中每个File对象就是该目录的一个子项
             */
            System.out.println(subs.length+"个子项");
            for (File sub :subs) {
                System.out.println(sub.getName());
            }

        }
    }
}
package file;
import java.io.File;
import java.io.FileFilter;

public class ListFiles02 {
    public static void main(String[] args) {
        //需求:获取./src/main/java/file目录中所有名字中含有“F”的子项
        File dir = new File("./src/main/java/file");
        if(dir.isDirectory()){

            FileFilter filter = new FileFilter(){
                public boolean accept(File file) {
                    String name =file.getName();
                   // return name.indexOf("F")!=-1;
                    return name.contains("F");
                }
            };

            File[] subs =dir.listFiles(filter);
            for (File sub: subs){
                System.out.println(sub.getName());
            }

        }

    }
}
package file;
import java.io.File;
/*
创建目录
 */
public class MkDir01 {
    public static void main(String[] args) {
        //在当前项目目录下新建一个目录(文件夹)demo
        File dir = new File("a/b/c/d/e/f");
        if(dir.exists()){
            System.out.println("目录已经存在");
        }else{
            /*
            make :做
            directory:目录
             */
            //dir.mkdir();
            dir.mkdirs();
            System.out.println("该目录已经创建!");
        }
    }
}
package file;
import java.io.File;
import java.io.FileFilter;

public class Test01 {
    public static void main(String[] args) {
        //需求:获取./src/main/java/file目录中所有名字中含有“D”的子项
        File dir = new File("./src/main/java/file");
        //回调模式 23种设计模式之一
        if(dir.isDirectory()){

            FileFilter filter = new FileFilter(){
                /*
                重写accept方法用来定义过滤器的过滤规则
                重写规则:
                将参数file当作将来经过该过滤器的元素,当该元素符合过滤器
                要求时,accept方法应当返回true
                 */
                public boolean accept(File file) {
                    String name =file.getName();
                    // return name.indexOf("F")!=-1; 含有F的
                    //return name.startsWith("D");//开头是D
                    long len = file.length();
                    return len<=500;//获取500字节以下的文件
                }
            };

            File[] subs =dir.listFiles(filter);//回调模式
            for (File sub: subs){
                System.out.println(sub.getName());
            }

        }


    }
}
package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JAVA IO
 * I:input
 * O:output
 * java用方向输入与输出划分读写操作,其中输入用来读取,输出用来写出
 * java将读写具象比喻为”流“,这里可以想象为”水流“,是向着同一侧顺序移动的过程。
 * 并且流可以理解为是连接我们程序与另一端的”管道“,只不过管道中流动的是字节
 * java.io.InputStream 输入流,是所有输入流的超类,定义了读取字节的方法
 * java.io.OutputStream  输出流,是所有输出流的超类,定义了写出字节的方法
 *
 * 文件流
 * java.io.FileInputStream FileOutStream 专门用于链接程序和文件之间的管道
 * 用来读写文件数据的流,他们分别继承InputStream /OutputStream
 */
public class FOS01 {
    public static void main(String[] args) throws IOException {
        //向文件fos.dat中写入字节
        FileOutputStream fos = new FileOutputStream("./fos.dat");
/*
java.io.OutputStream:定义写的操作
void write(int d)
写出1个字节,写出的是给定int值对应2进制的”低八位“
 */
        fos.write(1);
        fos.write(5);
        System.out.println("写出完毕!");
        fos.close();

    }
}
package Lambda;

import java.io.File;
import java.io.FileFilter;

/*
JDK8之后推出的一个特性:lambda表达式
lambda表达式可以用更精简的语法创建匿名内部类
语法:
(参数列表)->{
        方法体
}
需要注释:只有被实现的接口中含有一个抽象方法时,才可以使用lambda表达式创建。
 */
public class Lambda01 {
    public static void main(String[] args) {
        //定义一个文件过滤器,规律规则为名字中含有字母”F“
        //文件过滤器的匿名内部类创建形式
        FileFilter filter = new FileFilter(){
            public boolean accept(File file) {
                return file.getName().contains("F");
            }
        };
        //省去了接口名和方法名
        FileFilter filter1 = (File file)->{
            return file.getName().contains("F");
        };
        //参数列表中的参数类型可以忽略不写
        FileFilter filter2 = ( file)->{
            return file.getName().contains("F");
        };
        //如果方法体只有一句代码,那么方法的”{}“可以忽略,return也可以忽略
        FileFilter filter3 = (file)->file.getName().contains("F");
        //如果只有一个参数,那么参数列表的”()“可以忽略不写
        FileFilter filter4 = f->f.getName().contains("F");

        //实际应用:
        File dir = new File("./src/main/java/file");
        File[] subs = dir.listFiles(f->f.getName().contains("F"));


    }
}
package Lambda;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class Lambda02 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        Random random = new Random();
        for (int i = 0; i <10 ; i++) {
            list.add(random.nextInt(100));
        }
        System.out.println(list);
        /*
        从大到小
        Collections.sort(list,new Comparator<Integer>(){
            public int compare(Integer o1 ,Integer o2){
            return o2-o1;
            }
        });
         */
        System.out.println("=========================");
       // Collections.sort(list,(o1,o2)->o2-o1);//箭头函数/匿名函数
        list.sort((o1,o2)->o2-o1);
        System.out.println(list);
    }
}
posted @ 2022-08-26 21:34  luyi_ma  阅读(35)  评论(0)    收藏  举报