枚举类
枚举类: 定义一种事物的所有可能|情况
定义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();