IO流中FileWriter和FileRead

来源:互联网 发布:信捷plc 编程软件3.5 编辑:程序博客网 时间:2024/06/05 23:58
FileWriter用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。

文件是否可用或是否可以被创建取决于底层平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

FileWriter 用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream

FileWriter的构造方法有

1.FileWriter(File file) 根据给定的 File 对象构造一个 FileWriter 对象

2.FileWriter(File file, boolean append) 根据给定的 File 对象构造一个 FileWriter 对象

3.FileWriter(FileDescriptor fd)构造与某个文件描述符相关联的 FileWriter 对象

4.FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。

5.FileWriter(String fileName, boolean append)根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。

常用的构造方法FileWriter(File file)。

例如:

FileWriter fw=new FileWriter("dem0.txt");//创建一个FileWriter对象,该对象会被创建到指定的目录下,如果有同名则覆盖

常用方法:

fw.write("abcdef");//将此内容写到流中(还没有写到文本中,一般是内存中)

fw.flush();//将流中的数据,刷到文本中

fw.close();//关闭流资源,当关闭前会将流中的信息全部保存到文本中

异常处理:

一般用try-catch抛出

例如

import java.io.FileWriter;
import java.io.IOException;


public class fwDemo {
public static void main(String[] args){
FileWriter fw=null;
try {
fw=new FileWriter("Demo.txt");
fw.write("aaaaa");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
if(fw!=null){
fw.close();
}
}catch(IOException ee){
ee.printStackTrace();
}
}
}
}


FileReader

用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。

FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream

构造方法:

FileReader(File file)在给定从中读取数据的File 的情况下创建一个新FileReader

FileReader(FileDescriptor fd)在给定从中读取数据的FileDescriptor 的情况下创建一个新FileReader

FileReader(String fileName)在给定从中读取数据的文件名的情况下创建一个新FileReader

一般常用的构造法有FileReader(File file)

例如:

FileReader fr=new FileReader("Demo.txt");//创建一个文件读取流对象,与指定名称相关联,如果文件不存在会报FileNotException异常

常用的方法:

fr.read();//调用读取流对象的read方法,一次读一个字符,并却会自动往下读,读到尾,则返回-1

例如:

import java.io.FileReader;
import java.io.IOException;


public class frDemo {
public static void main(String[] args){
FileReader fr=null;
try {
fr=new FileReader("Demo.txt");
char[] buf=new char[1024];
int ch=0;
while((ch=fr.read(buf))!=-1){
System.out.println(buf);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
if(fr!=null){
fr.close();
}
}catch(IOException ee){
ee.printStackTrace();
}
}
}
}

0 0
原创粉丝点击