黑马程序员技术交流社区
标题: 【石家庄校区】笔记 [打印本页]
作者: 庞帅 时间: 2018-4-23 14:41
标题: 【石家庄校区】笔记
本帖最后由 小石姐姐 于 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
静态同步方法的锁对象是当前类的字节码对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |