JavaIO流及多线程的学习[实验室第四讲]
来源:互联网 发布:明星淘宝店铺大全 编辑:程序博客网 时间:2024/04/30 20:55
1.字节流
面向设备写入,无缓冲区。
/** * 字节流读取文件 * @throws IOException */private static void readTest() throws IOException { File file = new File("D:/java/file.txt"); FileReader fr = new FileReader(file); System.out.println((char)fr.read()); //返回的是ASC码值 } /** * 字节流读取文件 * @throws IOException */private static void readTest() throws IOException { File file = new File("D:/java/file.txt"); FileReader fr = new FileReader(file); char[] ch = new char[(int)file.length()]; fr.read(ch); for(char c : ch){ System.out.println(c); } }
2.字符流
面向缓冲区操作。用flush()方法
public static void writeTest() throws IOException{ //创建文件 File file = new File("D:/java/file.txt"); //用字符流向文件写入内容 FileWriter fw = new FileWriter(file); fw.write("Android"); fw.flush(); fw.close(); }
缓冲流:
/** * 缓冲字符流读取操作 * @throws IOException */ public static void bufferTest() throws IOException{ File file = new File("D:/java/file.txt"); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); System.out.println(br.readLine()); }
转换流
直接将你创建的流转换为writer的流,写入字符或者字符串
/** * 转换流 * @throws IOException */ public static void OutputStreamWriter() throws IOException{ File file = new File("D:/java/file.txt"); FileOutputStream fos = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fos); osw.write("Android",0,7);//字符,偏移量,写入的长度。 osw.flush(); osw.close(); }
对象流
将对象以文件的形式写入磁盘里保存起来。
public static void ObjectText() throws IOException, ClassNotFoundException{ Person p = new Person("宁静",250); File file = new File("D:/java/file.txt");/* FileOutputStream fos = new FileOutputStream(file); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(p); oos.flush(); oos.close();*/ FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis); Person person = (Person) ois.readObject(); System.out.println(person); }
多线程:
1.并发和并行
并行:在同一时刻,多件事情一定同时进行。
并发:在同一时刻,多件事情一定不是同时进行的。//轮流执行
3.创建线程 开启线程
创建线程有两种基本方式:1).类
public class ThreadA extends Thread{ public ThreadA(String name){ super(name); } public void run(){ for(int i=0;i<10;i++) System.out.println(getName() + "-->" + i); }}public class ThreadB extends Thread{ public ThreadB(String name){ super(name); } public void run(){ for(int i=0;i<10;i++) System.out.println(getName() + "-->" + i); }}public class xiancheng { public static void main(String[] args){ ThreadA tA = new ThreadA("线程A"); ThreadB tB = new ThreadB("线程B"); tA.start(); tB.start(); }}
2).Runnable接口
public class ThreadTask implements Runnable { @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<10;i++) System.out.println(Thread.currentThread().getName() + "-->" + i); }}public class xiancheng { public static void main(String[] args){ ThreadTask task = new ThreadTask(); Thread t = new Thread(task); t.start(); }}
//两线程执行同一个任务public class ThreadTask implements Runnable { private int num = 0; private Object lock = new Object();//同步锁 @Override public void run() { // TODO Auto-generated method stub while(num<100){ synchronized(lock)//同步代码块 { num++; System.out.println(Thread.currentThread().getName() + "-->" + num); } } }}public class xiancheng { public static void main(String[] args){ ThreadTask task = new ThreadTask(); Thread t1 = new Thread(task,"线程A"); Thread t2 = new Thread(task,"线程B"); t1.start(); t2.start(); }}
0 0
- JavaIO流及多线程的学习[实验室第四讲]
- javaIO流的学习总结
- javaIO流和多线程
- javaIO流学习总结
- javaIO流学习笔记
- javaIO 流学习总结
- JavaIO流学习笔记
- javaio流学习
- JavaIO流基础学习
- javaIo流学习笔记
- 深度学习 第四讲
- python学习第四讲
- 黑马程序员---第四讲 多线程的应用(2)
- JavaIO流的总结!
- JavaIO流基础语法及方法的应用
- 深度学习的最新进展及诺亚方舟实验室的研究
- 深度学习的最新进展及诺亚方舟实验室的研究
- spring学习总结-第四讲
- Java读取maven resource下文件
- python 实现 softmax分类器(MNIST数据集)
- Mac 10.12版本 ,在安全选项里面上显示 任何来源
- 期末数据结构总结
- android网络通信解析
- JavaIO流及多线程的学习[实验室第四讲]
- Codeforces 741B-Arpa's weak amphitheater and Mehrdad's valuable Hoses
- 欢迎使用CSDN-markdown编辑器
- 从集合中选出一些元素组成子集合,使得这些子集合符合某种约束
- 【学习笔记】Get Started with MATLAB-Chapter04
- mybatis+spring junit单元测试
- 《C++ Primer Plus(第六版)》(14)(第九章 内存模型和命名空间 复习题答案)
- c语言
- 浅谈数据结构-树状数组