这里,Java的读文件和写文件都是基于字符流的,主要用到下面的几个类:
1、FileReader----读取字符流
2、FileWriter----写入字符流
3、BufferedReader----缓冲指定文件的输入
该类的方法有:
void close()
关闭该流。
void mark(int readAheadLimit)
标记流中的当前位置。
boolean markSupported()
判断此流是否支持 mark() 操作(它一定支持) int read()
读取单个字符。
int read(char[] cbuf, int off, int len)
将字符读入数组的某一部分。
String readLine()
读取一个文本行。
boolean ready()
判断此流是否已准备好被读取。
void reset()
将流重置为最新的标记。
long skip(long n)
跳过字符。
4、BufferedWriter----将缓冲对文件的输出
该类的方法有:
void close()
关闭该流。
void flush()
刷新该流的缓冲。
void newLine()
写入一个行分隔符。
void write(char[] cbuf, int off, int len)
写入字符数组的某一部分。
void write(int c)
写入单个字符。
void write(String s, int off, int len)
写入字符串的某一部分。
1 package test.capture;
2
3 import java.io.BufferedReader;
4 import java.io.BufferedWriter;
5 import java.io.FileReader;
6 import java.io.FileWriter;
7 import java.io.IOException;
8
9 public class ReadWriteFile {
10
11 /**
12 * Java读文件 Java写文件
13 * 功能:读取**文件的内容(一行一行读),并将其内容写入**中
14 * 知识点:java读文件、写文件----以字符流方式
15 */
16 public static void main(String[] args) {
17 String inFile = "d:/in.txt";
18 String outFile = "d:/out.txt";
19 readWrite(inFile,outFile);
20 }
21
22 //读写文件为方法
23 public static void readWrite(String inFile, String outFile){
24 FileReader fr = null;
25 BufferedReader br = null;
26 FileWriter fw = null;
27 BufferedWriter bw = null;
28 try{
29 fr = new FileReader(inFile);//创建FileReader对象,用来读取字符流
30 br = new BufferedReader(fr); //缓冲指定文件的输入
31
32 fw = new FileWriter(outFile);//创建FileWriter对象,用来写入字符流
33 bw = new BufferedWriter(fw); //将缓冲对文件的输出
34 String myreadline; //定义一个String类型的变量,用来每次读取一行
35 while (br.ready()) {
36 myreadline = br.readLine();//读取一行
37 bw.write(myreadline); //写入文件
38 bw.newLine();
39 System.out.println(myreadline);//在屏幕上输出
40 }
41 bw.flush(); //刷新该流的缓冲
42 }catch(IOException e){
43 e.printStackTrace();
44 }finally{
45 try{
46 bw.close();
47 br.close();
48 fw.close();
49 fr.close();
50 }catch(IOException ioe){
51 ioe.printStackTrace();
52 }
53 }
54 }
55 }
56