传奇哥配置文件 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);
}
}

浙公网安备 33010602011771号