Class File文件类
存储了文件的大小,名字,路径,创建时间访问时间。
File对象可以是一个文件也可以是一个文件夹
文件访问方式:
File f1=new File("C:/abc");
File f2=new File("C:/abc/abc.bat");
File f3=new File("http://www.baidu.com");
函数:
getParentFile();//返回父文件对象
listFile();
isFile();
绝对路径和相对路径中尽量选择相对路径。
对文件对象进行读和写:
FileInputStream fis;
FileOutputStream fos;
//三个write 三个read;
RandomAccessFile:
可读可写。
seek函数寻找偏移量
文本流
FileReader fr=new FileReader("i.txt");//FileReader使用平台默认的编码,跨平台性差尽量减少使用
int c=fr.read();
char c2=(char) c;
BufferedReader br=new BufferedReader(fr);
String s = br.readLine();
//解决跨平台性:
FileInputStream fis = new FileInputStream("路径");
InputStreamReader isr = new InputStreamReader(fis,"GBK");//用对应的编码来读取文件
BufferedReader br= new BufferedReader(isr);
String s = readLine();
import java.io.*
public class WriteText{
public static void main() throws Exception{
FileOutputStream fos = new FileOutputStream("d:\\a.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
osw.Write("中国梦")
osw.flush();
osw.close();
fos.close();
}
}
printWriter
println();
PrintStream
打印流可以指定编码类型
Properties(属性)
String getProperty();
void setProperty(String,String);
Properties p=new Properties();
p.setProperty("server","192.168.1.1");
p.setProperty("port","8080");
多线程
Thread
Thread th1 = new Thread(Runnable a );
Runable
public class task1 implements runnable{
public void run(){
...
}
}
方法二:直接覆盖Thread的run函数
public class MyThread extends Thead{
public void run(){
...
}
}
main:
Thread th1=new MyThread();
th1.start();//挂到就绪队列里
应该尽量用聚合,继承和聚合可以相互转化。
无法预知这个程序什么时候运行。
线程类API
如果run函数运行结束,线程处于死亡状态。(dead);run ready dead
可以调用线程控制函数。
stop(); //强行停止调用stop函数会让程序进入死亡状态。无法救回。
interrupt(); //打断。向线程发送信号
suspend(); //暂停函数
resume(); //重新开始
sleep(int ms); //让当前线程睡眠
yield(); //让步函数。
join(); //阻塞函数
setDaemon(); //精灵线程在操作系统后台运行提供用户服务
当前虚拟机中没有任何用户线程在运行则虚拟机直接宕机。