FileWriter()方法。
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterDemo {
public static void main(String[] args) throws IOException {
//创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。
//而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被覆盖。
//其实该步就是在明确数据要存放的目的地。
FileWriter fw=new FileWriter("要读取文本文件的地址");
//调用Writer方法,将字符串写入到流中。
fw.write("abcd");
//刷新流对象中的缓冲中的数据。
//将数据刷到目的地中。
//fw.flush();
//关闭流资源,但是关闭之前刷新依次内部的缓冲中的数据。
//将数据刷道目的地中。
//和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。
fw.close();
}
}
IO异常处理
import java.io.FileWriter;
import java.io.IOException;
public class FilerWriterDemo2 {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("FileWriterDemo.java");
fw.write("abcd");
} catch (IOException e) {
System.out.println("catch:" + e.toString());
}
finally {
try {
if (fw != null)
fw.close();
} catch (IOException e) {
System.out.println(e.toString());
}
}
}
}
对已有文件的续写。
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterDemo3 {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("FileWriterDemo.java",true);//不替换当前文件,对文件续写
fw.write("abcd");
fw.close();
}
}
FileReader()
文本文件读取方法一
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo {
public static void main(String[] args) throws IOException {
// 创建一个文件读取流对象,和指定名称的文件先关联。
// 要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException.
FileReader fr = new FileReader("文件路径");
// 调用读取流对象的read方法。
// read():一次读取一个字符。而且会自动往下读。
int ch = 0;
while ((ch = fr.read()) != -1) {
System.out.println((char) ch);
}
}
}
文本文件读取方法二
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("文件路径");
// 定义一个字符数组,用于存储读到字符。
// 该read(char[])返回的是读到字符个数。
char[] buf = new char[1024];
int num = 0;
while ((num = fr.read(buf)) != -1) {
System.out.println(new String(buf, 0, num));
}
fr.close();
}
}
文本文件复制FileReader和FileWreiter。
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileCopyDemo {
public static void main(String[] args) {
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("复制文件写入地址");
fr = new FileReader("源文件读取地址");
char[] buf = new char[1024];
int len = 0;
while ((len = fr.read(buf)) != -1) {
fw.write(buf, 0, len);
}
} catch (IOException e) {
throw new RuntimeException("读取失败");
} finally {
if (fr != null)
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (fw != null)
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}