枚举类

枚举类: 定义一种事物的所有可能|情况

定义enum定义枚举,不再使用class

枚举类也是类,所有的枚举类,都会隐式的继承自java.lang.Enum类

枚举类中的每一个字段,都是该类的一个实例,获取字段枚举类名.字段名 ,字段默认修饰符为public static final


File类

File 类 文件和目录路径名的抽象表示形式。

常见用法:

(三种命名)
 //File(String pathname) 根据路径字符串创建一个file对象 ***
 //File(String parent, String child根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
 //File(File parent, String child) ** 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
boolean canExecute()

测试应用程序是否可以执行此抽象路径名表示的文件。

boolean canRead()

测试应用程序是否可以读取此抽象路径名表示的文件。

boolean canWrite()

测试应用程序是否可以修改此抽象路径名表示的文件。

boolean setReadOnly()

标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。

(新建文件)

createNewFile() 不存在创建新文件 文件夹不存在创建不了 ***

(新建文件夹)

mkdir() *** 如果文件不存在那么不能建立

创建此抽象路径名指定的目录。

mkdirs() *** 如果文件不存在会自动帮忙建立

创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

String getParent() ***

返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。

File getParentFile() 父路径的File对象 ***

static File createTempFile(String prefix, String suffix) 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。

delete() 删除此抽象路径名表示的文件或目录。 ***

exists() 测试此抽象路径名表示的文件或目录是否存在。 ***


IO

IO流 :读写文件中的内容

流:一连串流动的数据,先入先出的特点,流就是管道

数据源:---> 目的地

流的分类:

流向分: (以程序为中心)

输入流

输出流

操作单元:

字节流:只能传输字节型的数据 ******

字符流:便于用户识别,只能传输纯文本的数据

功能分:

节点流:数据从数据源直接到目的地

功能流:提高节点流功能或性能 功能流(节点流)

流的分类之间都是相辅相成的

http://java.io包下的内容-->流...

IO分类主要为输入和输出两种:

输入流:

分类 : 字节流 输入流 节点流

InputStream 字节输入流 此抽象类是表示字节输入流的所有类的超类。

FileInputStream 文件字节输入流 FileInputStream 从文件系统中的某个文件中获得输入字节

举例:

//1.指明数据源 文件的位置 -->表示一个文件
 File src=new File("D:/test.txt");
 //2.选择流 FileInputStream(File file) 
 InputStream is=new FileInputStream(src);
 //3.读入 int read() 从此输入流中读取一个数据字节 如果读不到返回-1,如果有数据,字符的字节表现形式
 (读入一个字符)
 //重读读入:每次只读一个字节的数据
 int num=-1;
 while((num=is.read())!=-1){
 System.out.println((char)num);
 }
 (读入多个)
 //int read(byte[]) 
 byte[] car=new byte[3];
 int len=-1;
 while((len=is.read(car))!=-1){
 System.out.println(new String(car,0,len));
 }

//4.关闭

is.close();

输出流

字节输出流 OutputStream

文件字节输出流 FileOutputStream 字节流 输出流 节点流

每次写出数据默认覆盖,构造器中第二个参数可以设置true追加,false不追加-->默认false

举例:

//1.建立联系
 File dest=new File("D:/haha.txt"); //输出流文件本身不存在,系统会自动创建,路径不存在,需要自己手动创建
 //2.创建流 
 OutputStream os=new FileOutputStream("D:/haha.txt",true);
每次写出数据默认覆盖,构造器中第二个参数可以设置true追加,false不追加-->默认false
 //3.写出 
 (写出一个)
void write(int b) 将指定字节写入此文件输出流。 
 os.write(97);

(写出多个)

每次写出一个字节的数据效率低,想要一次写出多个 字节数组

创建字节数组

String str="你好就要,要过的比我好!!!";
 byte[] car=str.getBytes();
 //4.刷出
 os.flush();
 //5.关闭
 os.close();