1.字符流(专门操作文本文件的流)
Reader
FileReader
read(): 读取到的是一个字符, 返回的是int类型, 如果需要字符内容, 可以强制转换
Writer
FileWriter
write(int c): 写出一个字符
write(String): 写出一个字符串
BufferedReader:
readLine(): 读取到文本中的一行内容, 读取到的内容不包含换行符.如果没有读取到内容,返回null
BufferedWriter:
newLine(): 写出一个换行符: 根据平台写出对应的换行符!
转换流:
InputStreamReader: 把字节流,转换成字符流, 方便读取文本内容
OutputStreamWriter: 把字符流内容用字节流写出去
2.文件夹拷贝
3.多线程
1.什么是进程
进程是系统分配资源的单位
2.什么是线程
线程是程序执行的路径
3.线程的作用
4.多线程的两种创建方式
1.通过继承Thread类, 重写run方法
public class MyThread extends Thread{
public void run(){
//需要在线程中执行的代码
}
}
2.实现Runnable接口, 重写run方法
public class MyRunnable implements Runnable {
@Override
public void run() {
//需要在线程中执行的代码
}
}
5.线程中的常用方法
getName(): 获取线程的名字
currentThread(): 静态方法, 可以获取到当前执行代码的线程对象
sleep() : 休眠指定的时间, 然后再执行后面的代码
activeCount(): 当前正在执行的线程数量
setDaemon(true): 把线程设置为守护线程, 必须要在线程启动前设置才有效
什么是守护线程: 必须要有其他线程存在才有意义, 不能独立存在.
如果其他线程都已经结束了, 只剩下守护线程, 那它也会自动结束, 不管代码是否执行完毕!
6.烧水的例子
多线程不能减少每件事情的执行时间, 但是可以优化做事情的流程!
7.如何下载网络文件:
URL url = new URL(path);
InputStream is = url.openStream();
...