安卓学习第十三天:大文件的IO,字符流,处理流,内部类,匿名内部类,线程初步
2015-04-27 22:20
423 查看
#1大文件的读写方法
使用循环来读取,每次去一段数据,从源文件读取一部分,然后写入
到目标文件中。
代码:
While (true){
Inttemp=fis.read(buffer,0,buffer.length);
if (temp==-1){
break;
}
Fos.write(buffer,0,temp);
}
关闭输入流和输出流
放在finally代码块中
Fis.close();
Fos.close();
#2字符流的使用方法
字符流是以字符为基础的,字符输入流:Reader<----FileReader
Intread(char []c,int off,int len);
字符输出流:Writer<----FileWriter
Voidwrite(char []c,int off,int len);
#3处理流的使用实例
BUfferReader<---readLine();
BUfferReader接受的参数是BUfferReader的对象
readnLine()返回的是一个字符串
readLine读取到末尾的时候返回值为空
#4装饰者模式
装饰者相当于给被装饰者加了一个功能。
ClassAworker implements Worker{
PrivateWorker worker;
PublicAworker(worker){
this.worker=worker;
}
Publicvoid doSomeWork{
worker.doSomeWork();
}
}
#5节点流和处理流的关系
处理流是来装饰节点流的
#6内部类和匿名类的使用方法
什么是内部类:一个类定义在另一个类的里面。称之为内部类
Class A{
class B{
}
}
编译会生成一个A.class和A$B.class。会生成两个类文件。
如何生成内部类的对象:A.Bb=new A().new B();内部类的名字叫A.B
内部类可以随意使用外部类生成的成员变量。
没有名字的内部类称为匿名内部类
B.fun(newA(){
Publicvoid doSomeThing(){
System.out.println("匿名内部类");
}
})
#7 java当中的进程和线程
多进程:在操作系统中能(同时)运行多个任务(程序)
多线程:同一个程序中,有多个顺序流同时进行
生成线程--》进入就绪状态--》进入运行状态---》进入就绪状态----》。。--》执行完毕,死亡
线程也是一个对象
定义一个线程类,它继承Thread类并重写其中的方法run();方法run()称为线程体。
class FirstThread extends Thread{
Publicvoid run(){
for(i=1,i<100,i++){
System.out.println(i);
}
}
}
生成线程类的对象
FirstThreadft=new FirstThread();
启动线程
Ft.start();这个start方法继承自Thread类,该线程属于就绪状态。还没有执行;
该语句会直接执行run方法;
有三个线程,一个是main,一个是ft,一个是垃圾回收线程
看谁能抢到cpu,谁抢到谁执行。
多线程的执行没有规律,这也是多线程最麻烦的地方。
多线程最大的麻烦就是没谱。
如果加上ft.run();则启动的不是多线程,只是单线程,只会执行ft线程,完了再执行main();
启动线程只能用start方法;
#8实现线程的第二种方法
提供一个实现接口runable的类作为的线程的目标对象,在初始化一个Thread类的一个Thread类的子类的线程对象时,把目标对象传递给这个线程实例,由该目标对象提供线程体。
class R implements Runable{
Publicvoid run(){
方法体。
}
}
生成一个runable接口实现类的对象
R r=newR();
生成一个Thread对象,然后将runalbe接口实现类的对象作为构造函数的参数传递给Thread
Threadt=new Thread®;
#9线程的简单控制方法
中断线程:
Thread.sleep();传递一个参数,参数是毫秒数,相应的毫秒数后,线程进入就绪状态。
Thread.yield();
设置线程的优先级:
getPriority();
setPrioritty();
使用循环来读取,每次去一段数据,从源文件读取一部分,然后写入
到目标文件中。
代码:
While (true){
Inttemp=fis.read(buffer,0,buffer.length);
if (temp==-1){
break;
}
Fos.write(buffer,0,temp);
}
关闭输入流和输出流
放在finally代码块中
Fis.close();
Fos.close();
#2字符流的使用方法
字符流是以字符为基础的,字符输入流:Reader<----FileReader
Intread(char []c,int off,int len);
字符输出流:Writer<----FileWriter
Voidwrite(char []c,int off,int len);
#3处理流的使用实例
BUfferReader<---readLine();
BUfferReader接受的参数是BUfferReader的对象
readnLine()返回的是一个字符串
readLine读取到末尾的时候返回值为空
#4装饰者模式
装饰者相当于给被装饰者加了一个功能。
ClassAworker implements Worker{
PrivateWorker worker;
PublicAworker(worker){
this.worker=worker;
}
Publicvoid doSomeWork{
worker.doSomeWork();
}
}
#5节点流和处理流的关系
处理流是来装饰节点流的
#6内部类和匿名类的使用方法
什么是内部类:一个类定义在另一个类的里面。称之为内部类
Class A{
class B{
}
}
编译会生成一个A.class和A$B.class。会生成两个类文件。
如何生成内部类的对象:A.Bb=new A().new B();内部类的名字叫A.B
内部类可以随意使用外部类生成的成员变量。
没有名字的内部类称为匿名内部类
B.fun(newA(){
Publicvoid doSomeThing(){
System.out.println("匿名内部类");
}
})
#7 java当中的进程和线程
多进程:在操作系统中能(同时)运行多个任务(程序)
多线程:同一个程序中,有多个顺序流同时进行
生成线程--》进入就绪状态--》进入运行状态---》进入就绪状态----》。。--》执行完毕,死亡
线程也是一个对象
定义一个线程类,它继承Thread类并重写其中的方法run();方法run()称为线程体。
class FirstThread extends Thread{
Publicvoid run(){
for(i=1,i<100,i++){
System.out.println(i);
}
}
}
生成线程类的对象
FirstThreadft=new FirstThread();
启动线程
Ft.start();这个start方法继承自Thread类,该线程属于就绪状态。还没有执行;
该语句会直接执行run方法;
有三个线程,一个是main,一个是ft,一个是垃圾回收线程
看谁能抢到cpu,谁抢到谁执行。
多线程的执行没有规律,这也是多线程最麻烦的地方。
多线程最大的麻烦就是没谱。
如果加上ft.run();则启动的不是多线程,只是单线程,只会执行ft线程,完了再执行main();
启动线程只能用start方法;
#8实现线程的第二种方法
提供一个实现接口runable的类作为的线程的目标对象,在初始化一个Thread类的一个Thread类的子类的线程对象时,把目标对象传递给这个线程实例,由该目标对象提供线程体。
class R implements Runable{
Publicvoid run(){
方法体。
}
}
生成一个runable接口实现类的对象
R r=newR();
生成一个Thread对象,然后将runalbe接口实现类的对象作为构造函数的参数传递给Thread
Threadt=new Thread®;
#9线程的简单控制方法
中断线程:
Thread.sleep();传递一个参数,参数是毫秒数,相应的毫秒数后,线程进入就绪状态。
Thread.yield();
设置线程的优先级:
getPriority();
setPrioritty();
相关文章推荐
- 一个非常非常非常基础的程序,写的不好,但是一般的文件读写操作及字符处理函数都涉及到了..新手学习用的
- 18天Java学习---Java的对象序列化以及文件IO处理
- 字符流_字节流_IO异常处理_文件的续写_拷贝文本_缓冲流
- 黑马程序员_字符流_字节流_IO异常处理_文件的续写_拷贝文本_缓冲流
- Java学习心得--线程、匿名内部类
- [零散篇]Java学习笔记---Java的对象序列化以及文件IO处理
- 20110830 java IO处理学习----一个自写文件复制类
- java学习之路----IO-------字节流和字符流的区别,文件的复制
- 安卓学习第十二天:接口,接口的使用,异常,异常处理,IO
- 线程初步(六)----匿名内部类的使用
- [安卓项目学习笔记]将文本中的emoji字符处理为表情图片
- 【安卓学习笔记】JAVA基础-字符流及打文件的读写
- Java IO学习【3】IO中异常的抛出/单个字符读取文件、数组读取字符文件
- 网络编程一对一、群聊(socket、io、线程、匿名内部类)
- Java IO 之 FileReader FileWriter 实现字符文件的复制(处理FileWriter新建文件失败的问题)
- java 常见的文件字符处理操作 进程与线程
- 学习笔记之JavaIO中的文件处理——File和RandomAccessFile
- C标准库学习之<ctype.h> ——字符处理
- logz.io一个企业级的ELK日志分析器 内部集成了机器学习识别威胁——核心:利用用户对于特定日志事件的反馈处理动作来学习判断日志威胁 + 类似语音识别的专家系统从各方收集日志威胁信息
- 安卓逆向学习(1):so文件的动态调试方法