File文件和目录地址名类
三个构造方法
File(String path);
File(String parent, String path);
File(File parent,String path);
创建方法
createNewFile();//创建文件
mkdir();//创建单级目录
mkdirs();//创建多级目录
获取的方法:
getPath(); //获得构造方法File(String path);中的路径
getAbsolutePath();//获取绝对路径
getName();//获取文件的名字
length(); // 获取文件的大小。
String[] list();//返回该目录下的子文件和子目录的名字到字符串数组
File[] listFiles();返回该目录下的子文件和子目录的名字到File数组
判断的方法:
isDirectory();//是不是目录
isFile();//是不是文件
exists();//存在么
递归遍历文件夹。
递归复制单级目录。
递归复制多级目录。
字节流——字节输出流 :
OutputStream 抽象类
FileOutputStream 实际输出字节的流
1: 续写 new FileOutputStream ("a.txt",true)
BufferedOutputStream 实际输出字节的缓冲流
new BufferedOutputStream(new FileOutputStream ("a.txt"));
PrintStream 字节打印流
ObjectOutputStream 序列化流,对象和字节之间的转换
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream ("a.txt")); oos.writeObject(new Student()); 1:(必须的) Student 必须实现 Serializable接口 标记结构。 2:(推荐的) Student类里面写一个 serialVersionUID 方法:3个 write(int ch); write(byte[] bys); write(byte[] bys,int off , int len); 字节输入流: InputStream FileInputStream BufferedInputStream new BufferedInputStream(new FileInputStream ("a.txt")); ObjectInputStream 序列化流 ObjectInputStream oos = new ObjectInputStream(new FileInputStream ("a.txt")); 方法: int read(); int read(byte[] bys); 字节流复制文件: 普通字节流 一次一个字节 普通字节流 一次一个字节数组 缓冲字节流 一次一个字节 缓冲字节流 一次一个字节数组 字符流(☆☆☆☆☆): 字符输出流 Writer : OutputStreamWriter : OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream ("a.txt"), "UTF-8"); FileWriter: FileWriter fw = new FileWriter("a.txt"); //默认UTF-8 BufferedWriter(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream ("a.txt"), "GBK"));、 方法:newLine(); PrintWriter : 字符打印流。 print(); println(); 原样输出。 PrintWriter pw = new PrintWriter(new FileWriter("a.txt") ,true); pw.write(97); pw.print(97); pw.println(97); // a9797换行 方法:5个 write(int ch); write(char[] chs); write(char[] bys,int off , int len); write(String chs); write(String chs,int off , int len); 字符输入流: Reader : InputStreamReader : InputStreamReader isr = new InputStreamReader( new FileInputStream("a.txt"), "GBK"); FileReader; FileReader fr = new FileReader("a.txt"); BufferedReader : BufferedReader br = new BufferedReader(new FileReader("a.txt")); 方法: int read(); int read(char[] bys); 复制文件:(只能复制纯文本文件) 其实我们字符流 并不是为了复制文本文件而生的。 那是啥? 当只把文本读取到程序中 使用。 或者 只把程序中的文本 写出到文件中的时候,我们采用字符流。 字符流复制文件 一次一个字符 字符流复制文件 一次一个字符数组 缓冲字符流复制文件 一次一个字符 缓冲字符流复制文件 一次一个字符数组 缓冲字符流复制文件 一次一行 bw.write(line); bw.newLine(); bw.flush(); 打印字符流 一次一行 pw.println(line); 递归复制文件 标准输入输出流(☆☆☆): System.in 自定义键盘录入。 System.out System.err System.setErr(流向); 打印流 序列化 Properties(☆☆☆☆☆) 集合。 load store(); list(); save();