本帖最后由 小石姐姐 于 2018-4-25 15:39 编辑
第1章 File类1.1 File概述打开API,搜索File类。阅读其描述:File文件和目录路径名的抽象表示形式。即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可,那么我们就要研究研究File这个类中都有那些功能可以操作文件或者文件夹呢 1.2 File类的构造函数 File(String pathname) :将一个字符串路径封装成File对象 File(String parent,String child):传入一个父级路径和子级路径 File(File parent,String child):传入一个File类型的父级路径和子级路径
1.3 File类创建和删除功能boolean createNewFile():指定路径不存在该文件时时创建文件,返回true,否则返回false boolean mkdir():当指定的单级文件夹不存在时创建文件夹并返回true,否则返回false boolean mkdirs():当指定的多级文件夹某一级文件夹不存在时,创建多级文件夹并返回true,否则返回false boolean delete():删除文件或者删除单级文件夹 1.4 File类的判断功能boolean exists():判断指定路径的文件或文件夹是否存在 boolean isAbsolute():判断当前路路径是否是绝对路径 boolean isDirectory():判断当前的目录是否存在 boolean isFile():判断当前路径是否是一个文件 boolean isHidden():判断当前路径是否是隐藏文件
1.5 File类的获取功能和修改名字功能 File getAbsoluteFile():获取文件的绝对路径,返回File对象 String getAbsolutePath():获取文件的绝对路径,返回路径的字符串 String getParent():获取当前路径的父级路径,以字符串形式返回该父级路径 File getParentFile():获取当前路径的父级路径,以字File对象形式返回该父级路径 String getName():获取文件或文件夹的名称 String getPath():获取File对象中封装的路径 long lastModified():以毫秒值返回最后修改时间 long length():返回文件的字节数 boolean renameTo(File dest): 将当前File对象所指向的路径 修改为 指定File所指向的路径 1.6 File类的其它获取功能String[] list():以字符串数组的形式返回当前路径下所有的文件和文件夹的名称 File[] listFiles():以File对象的形式返回当前路径下所有的文件和文件夹的名称 static File[] listRoots():获取计算机中所有的盘符 第2章 字符流与字节流 2.1 概述 IO流分类: 流向 输入流 读取数据 FileReader Reader 输出流 写出数据 FileWriter Writer 数据类型 字节流 字节输入流 读取数据 InputStream 字节输出流 写出数据 OutputStream 字符流 字符输入流 读取数据 Reader 字符输出流 写出数据 Writer
2.2 复制图片字节流可以操作所有类型的文件,因为所有的文件在计算机中都是以字节形式存储 而字符流只能用来操作纯文本类型的文件,不能操作字节类型的文件
第10天IO流 1. File类: File:文件和目录路径名的抽象表示形式;实例是不可变的 构造方法: File(File parent, String child):根据指定的父路径对象和文件路径创建file对象 File(String pathname):根据指定的路径名转换成file对象 File(String parent, String child):根据指定的父路径和文件路径创建file对象 2. File的常用功能: 创建功能: boolean createNewFile():当指定文件不存在时创建文件并返回true,否则返回false //创建文件 boolean mkdir():当指定文件夹不存在时创建文件夹并返回true,否则返回false //单级目录 boolean mkdirs(): 创建文件夹,当文件夹所在的目录不存在,则顺道一块创建 //多级目录 删除功能: boolean delete():当指定的文件或文件夹存在时删除文件或文件夹并返回true否则返回false 注意:删除文件夹,这个文件夹下面不能有文件或文件夹 //删除文件或空目录 判断功能: boolean exists():判断文件或文件夹是否存在,存在返回true,否则返回false boolean isAbsolute():判断file对象指向的路径是否是绝对路径,是返回true,否则返回false boolean isDirectory():判断file对象指向的路径是否是文件夹(目录),是返回true,否则false boolean isFile():判断 file对象指向的路径是否是文件,是返回true,否则返回false boolean isHidden(): 判断file对象指向的路径是否有隐藏属性,是返回true,否则返回false 获取功能: File getAbsoluteFile():返回file对象的返回当前file对象所有指向的绝对路径 String getAbsolutePath(): 返回file对象所指向的绝对路径 String getParent():获取父路径的字符串 File getParentFile(): 获取父路径的file对象 String getName():获取文件和文件夹的名称 String getPath(): 返回创建file对象时给的路径 long lastModified(): 获取文件上次修改时间 long length():获取文件大小,不能获取目录大小,(单位是byte) 修改名字功能: boolean renameTo(File dest):重命名文件 重要的获取功能: String[] list():返回指定目录中的所有子文件或子目录的名称 File[] listFiles():返回指定目录中的所有子文件或子目录的file对象 static File[] listRoots():返回所有盘符(根目录) 3.IO字节流与IO字符流: IO流的分类: 流向: 输入流 读取数据 FileReader Reader 输出流 写出数据 FileWriter Writer 数据类型: 字节流 输入流 InputStream 输出流 OutputStream 字符流 输入流 Reader 输出流 Writer 区别: 字节:byte,字数,能够组成任何文件 字符:文本,涉及编码问题,字符底层也是字节 二进制文件只能使用字节流进行复制(使用Windows自带的记事本打开都不懂的) 文本文件的复制既能使用字符流也能使用字节流 第11天 多线程 1.概述: 进程:当前正在运行的程序,一个应用程序在内存中的执行区域 多线程:是进程中的一个执行控制单元,执行路径 注意:一个进程可以有单个,也可多个线程 特点: 单线程:安全性高,效率低 多线程:安全性低,效率高 并发:并行发生,多线程实现并非 同步:sync-->一个完成再执行一个(单线程) 异步:async-->同时执行多步(多线程) 2.创建线程: 方式一:(Thread类)一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例 String getName() 返回该线程的名称。 void setName(String name) 改变线程名称,使之与参数 name 相同。 执行顺序不一致 原因:CPU执行程序随机性(高速进行切换产生的) 主方法是单线程 方式二:(Runnable接口)创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。 然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。 Thread(Runnable target) 分配新的 Thread 对象。 static Thread currentThread() 返回对当前正在执行的线程对象的引用。 *通过实现接口的类来实现多线程 static void sleep(long millis):让当前线程睡一会 3. 同步代码块: synchronized:同步,可以修饰代码块和方法,被修饰的代码块和方法一旦被线程访问则直接锁住,其他线程无法访问结构 synchronized(锁对象){ } 注意:锁对象需要被所有的线程所共享 4. 同步方法: 使用关键字synchronized修饰的方法,一旦被一个线程访问,则整个方法全部被锁定,其他线程无法访问 非静态同步方法的锁对象是this 静态同步方法的锁对象是当前类的字节码对象
|