Java流与文件操作(1)
2011-09-02 18:25
302 查看
Java流与文件操作
12.1数据流的基本概念
1.数据源:提供数据的地方;
数据宿:接受数据的地方;
2.流:数据传输过程中的抽象表述为“流”
3.I/O数据流的分类方式:
(1)按数据流动方向分为输入流、输出流。
(2)根据数据流所关联的是数据源还是其他数据流,可分为节点流和处理流.
节点流可以从/向 一个特定的地方读(数据源)/写 数据。
处理流对一个已经存在的流进行封装和连接,通过所封装的流的功能调用实现增强的数据读/写功能。
(3) 按传输数据的“颗粒大小”划分,可分为字符流和字节流
l 字节流以字节为单位进行数据传输,每次传送一个或多个字节;
(可以处理所有类型的数据,如图片、mp3、avi)
l 字符流以字符为单位进行数据传输,每次传送一个或多个字符
(只能处理字符数据)
l 只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流
12.5字符流
Reader类和Writer类用来专门处理字符流。这两个类都是抽象类
一. Reader
1. 主要方法:
Public int read();读取一个字符,堵到末尾返回-1;
Public int read(char[] cbuf);将读到的字符存在指定的数组里
public abstract int read(char[] cbuf,int off,int len);将读到的字符存入数组的指定位置(off)
close();进行资源释放
二. Writer
1. 主要方法
public void write(int c):将一个字符写入到一个流中
public void write(char[]):将数组的字符一次写出
public abstract void write(char[] bcbuf,int off,int len):将数组中下标off开始的len个字符写出。
public void write(String):讲一个字符串写如流中
public abstract void flush():刷新流
public abstreact void close():关闭资源,关闭前会先调用flush,刷新流中的数据去目的地,然后流关闭。
三. FileWriter
1.该类特点:
i. 用于处理文本文件。
ii. 该类中有默认的编码表,
iii. 该类中有临时缓冲
2. 没有特有的方法。只有构造函数
3. 构造函数
public FileWriter(String filename);在指定位置,创建一个文件。(如果该文件已存在,将会被覆盖。)
public FileWriter(String filename,boolean append);当传入的boolean类型的参数值为true时,会在指定文件末尾处进行数据的续写。
如:
import java.io.*;
public class Demol {
public static void main(String[] args) throws IOException {
//创建输出流对象
FileWriter fw=new FileWriter("F:/JAVA/lesson/src/lessoneleven/demo.txt");
char ch='中'; char arr[]={'a','b','c'}; String str="program"; fw.write("hello word");fw.write(ch); fw.write(arr); fw.write(str); fw.close();
}
}
四.FileReader
1.作用:用于读取文本文件的流对象。
2构造函数:在读取流对象初始化的时候,必须要指定一个被读取的文件。
FileReader fr=new FileReader("F:/JAVA/lesson/src/lessoneleven/demo.txt");
package lessoneleven;
import java.io.*;
public class demo4 {
public static void main(String[] args) {
FileReader fr=null;
char[] arr=new char[1024];
try{
fr=new FileReader("F:/JAVA/lesson/src/lessoneleven/demo.txt");
int len=fr.read(arr);
while(len!=-1){
System.out.println(new String(arr,0,len));//构造字符串对象输出
len=fr.read(arr);
}
}catch(IOException e){
System.out.println(e.toString());
}finally{
try{
fr.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
12.1数据流的基本概念
1.数据源:提供数据的地方;
数据宿:接受数据的地方;
2.流:数据传输过程中的抽象表述为“流”
3.I/O数据流的分类方式:
(1)按数据流动方向分为输入流、输出流。
(2)根据数据流所关联的是数据源还是其他数据流,可分为节点流和处理流.
节点流可以从/向 一个特定的地方读(数据源)/写 数据。
处理流对一个已经存在的流进行封装和连接,通过所封装的流的功能调用实现增强的数据读/写功能。
(3) 按传输数据的“颗粒大小”划分,可分为字符流和字节流
l 字节流以字节为单位进行数据传输,每次传送一个或多个字节;
(可以处理所有类型的数据,如图片、mp3、avi)
l 字符流以字符为单位进行数据传输,每次传送一个或多个字符
(只能处理字符数据)
l 只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流
12.5字符流
Reader类和Writer类用来专门处理字符流。这两个类都是抽象类
一. Reader
1. 主要方法:
Public int read();读取一个字符,堵到末尾返回-1;
Public int read(char[] cbuf);将读到的字符存在指定的数组里
public abstract int read(char[] cbuf,int off,int len);将读到的字符存入数组的指定位置(off)
close();进行资源释放
二. Writer
1. 主要方法
public void write(int c):将一个字符写入到一个流中
public void write(char[]):将数组的字符一次写出
public abstract void write(char[] bcbuf,int off,int len):将数组中下标off开始的len个字符写出。
public void write(String):讲一个字符串写如流中
public abstract void flush():刷新流
public abstreact void close():关闭资源,关闭前会先调用flush,刷新流中的数据去目的地,然后流关闭。
三. FileWriter
1.该类特点:
i. 用于处理文本文件。
ii. 该类中有默认的编码表,
iii. 该类中有临时缓冲
2. 没有特有的方法。只有构造函数
3. 构造函数
public FileWriter(String filename);在指定位置,创建一个文件。(如果该文件已存在,将会被覆盖。)
public FileWriter(String filename,boolean append);当传入的boolean类型的参数值为true时,会在指定文件末尾处进行数据的续写。
如:
import java.io.*;
public class Demol {
public static void main(String[] args) throws IOException {
//创建输出流对象
FileWriter fw=new FileWriter("F:/JAVA/lesson/src/lessoneleven/demo.txt");
char ch='中'; char arr[]={'a','b','c'}; String str="program"; fw.write("hello word");fw.write(ch); fw.write(arr); fw.write(str); fw.close();
}
}
四.FileReader
1.作用:用于读取文本文件的流对象。
2构造函数:在读取流对象初始化的时候,必须要指定一个被读取的文件。
FileReader fr=new FileReader("F:/JAVA/lesson/src/lessoneleven/demo.txt");
package lessoneleven;
import java.io.*;
public class demo4 {
public static void main(String[] args) {
FileReader fr=null;
char[] arr=new char[1024];
try{
fr=new FileReader("F:/JAVA/lesson/src/lessoneleven/demo.txt");
int len=fr.read(arr);
while(len!=-1){
System.out.println(new String(arr,0,len));//构造字符串对象输出
len=fr.read(arr);
}
}catch(IOException e){
System.out.println(e.toString());
}finally{
try{
fr.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
相关文章推荐
- 用JAVA操作properties文件
- java操作pdf文件
- java 文件操作
- 用JavaDBF操作(读、写)DBF文件
- java文件操作大全
- JAVA API操作HDFS文件系统
- java文件操作
- Java文件操作大全
- Java的文件读写操作
- java文件操作大全
- java基础的文件操作(File类)
- 用Java操作文件
- Java实现HDFS文件操作工具类
- Java自学之路-Java基础教程-31:Java读文件操作和类的构造方法
- Java操作XML文件(2)-读取XML文件
- java中文件操作大全
- 命令行下编译java文件,提示使用了未经检查或不安全的操作
- java打字系统模拟打字练习采用JFrame+IO文件操作+线程源码
- java文件操作 更新中
- 利用 JAVA 操作 EXCEL 文件