文件操作的总结,流类型。多线程。

1、java.io包下的

File类:java程序中的此类的一个对象,就对应着硬盘中的一个文件或网络中的一个资源

File file1=new File(“路径1”);//路径一定要是双斜线

File file2=new File(“路径2”);

>1、File既可以表示一个文件(.doc  .xls  .mp3  .avi  .jpg 等等),也可以表示一个文件目录

>2、File类的对象是与平台无关的。

>3、File类针对于文件或文件目录,只能进行新建、删除、重命名、删除目录等等的操作。如果涉及到访问文件的内容,File是无能为力的,只能使用IO流下提供的输入输出流来实现。

>4、常把File类的对象作为形参传递给相应的输入输出流的构造器中。

 

2、IO流的结构:

 

3、IO流的划分:

   (1)、按照流的流向的不同:输入流、输出流;(站在程序的角度看输入(文件往程序内输入)、输出(从程序中输出到文件))。

   (2)、按照流中的数据单位的不同:字节流、字符流(纯文本文件使用字符流,除此之外使用字节流)。

   (3)、按照流的角色不同:节点流、处理流 (流直接作用于文件上是节点流(4个),除此之外都是处理流)。

 

 

4、重点掌握:

注:1、从硬盘中读入一个文件,要求此文件一定要存在;若不存在,报FileNotFoundException的异常。

     2、从此程序中输出一个文件到硬盘,此文件可以不存在。若不存在,就新创建一个文件实现输出;若已经存在作为将会被覆盖。

        3、真正开发时,就使用缓冲流来代替节点流。

       4、主要最后要关闭相应的流。先关闭输出流,再关闭输入流。将此操作放入finally。

 

5、其他的流:

  1、转换流:实现字节流到字符流的转换

        InputStreamReader:输入时,实现字节流到字符流的转换,提高操作的效率(前提是,数据是文本文件) =====》解码:字符数组 à 字符串

        OutputStreamWriter:输出时,实现字符流到字节流的转换。=====》编码:字符串 à 字符数组

例题:

   2、标准的输入、输出流:

System.in:标准的输入流---标准是指从键盘输入数据。

System.out:标准的输出流---标准是指从显示器中输出数据。

       

输出数据。

        3、打印流(都是输出流)PrintStream(处理字节)、PrintWriter(处理字符)

可以使用System.setOut(PrintStream  p)重新设置一下输出的位置。

PrintStream p=new PrintStream(new FileOutputStream(hello.txt),true);

       4、数据流(处理基本数据类型、String类、字节数组)

DataInputStream  DataOutputStream  --往外输出用writer什么(writerBoolean、writerInt、writerString就是等同于writerUTF);--读就把相应的writer改为read就可以了(readBoolean、readUTF……)。

        5、对象流(用来处理对象的)

>对象的序列化机制:将内存中的java对象以二进制流的形式进行传输,写入到硬盘或进行网络的传输。

ObjectInputStream(Object readObject) 

ObjectOutputStream(void writeObject(Object obj))

如何创建流的对象:ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File(“person.txt”)));

       ObjectIntputStream ois=new ObjectInputStream(new FileInputStream(new File(“person.txt”)));

实现序列化机制的对象对应的类的要求:(1)、要求类要实现Serializable接口;  (2)、同样要求类的所有属性也必须实现Serializable接口;(3)、要求给类提供一个序列版本号:private static final long serialVisionUID;(4)、属性声明为static或transient的,不可以实现序列化。

       6、随机存取文件流:RandomAccessFile

6.1既可以充当一个输入流,又可以充当一个输出流:public RandomAccessFile(File file,String mode)

6.2支持从文件的开头duqu、写入。若输出的文件不存在,直接创建。若存在,则是对原有文件内容的覆盖。

6.3支持任意位置的”插入”。

 

二、多线程:

1、理解程序、进程、线程的概念

 

2、如何创建java程序的线程(重点)

 

3、线程的生命周期

 

4、线程的同步机制(重点、难点)

 

5、线程的通信

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值