JAVA笔记(7)文件,多线程

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();      //精灵线程在操作系统后台运行提供用户服务

当前虚拟机中没有任何用户线程在运行则虚拟机直接宕机。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值