——- android培训、java培训、期待与您交流! ———-
IO流
我的印象
IO流是来操作数据的
常见分类为字节流和字符流
即InputStream和OutputStream
Writer和Reader
字符流是指操作文本数据的流
字节流是还可以操作图片等等的流
本例演示
本例演示文件操作字符流
java操作文件就必须考虑跨平台性.
查阅API可以得到File类的常用字段
static String pathSeparator
与系统有关的路径分隔符,为了方便,它被表示为一个字符串。 Windows下的”;”
static char pathSeparatorChar
与系统有关的路径分隔符。 Windows下的”;”
static String separator
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。 Windows下的”\”
static char separatorChar
与系统有关的默认名称分隔符。 Windows下的”\”
File的构造函数。
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
本例暂时只演示File(String pathname)
Writer抽象类
本例暂时不考虑多线程,所以不考虑加锁
构造函数
protected Writer()
创建一个新的字符流 writer,其关键部分将同步 writer 自身。
方法
Writer append(char c)
将指定字符添加到此 writer。
abstract void close()
关闭此流,但要先刷新它。
abstract void flush()
刷新该流的缓冲。
void write(char[] cbuf)
写入字符数组。
abstract void write(char[] cbuf, int off, int len)
写入字符数组的某一部分。
void write(int c)
写入单个字符。
void write(String str)
写入字符串。
void write(String str, int off, int len)
写入字符串的某一部分。
由于Writer是抽象类,不能被实例化
所以找到它的子类FileWriter
构造函数
FileWriter(File file)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(File file, boolean append)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(String fileName)
根据给定的文件名构造一个 FileWriter 对象。
FileWriter(String fileName, boolean append)
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
演示
需求:在硬盘上,创建一个文件并写入一些文字数据。
import java.io.*;
class FileWriterDemo
{
public static void main(String[] args)
{
FileWriter fw = null;
try
{
//创建一个FileWriter对象,并明确流的目的文件
//fw = new FileWriter("File.txt");
//传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。
fw = new FileWriter(new File("H:"+File.separator+"file2.txt"),true);
//在流中写入数据
fw.write("Hello java\r\n");
//刷新流的缓冲
fw.flush();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
finally
{
try
{
//关闭流,在关闭前会进行一次刷新操作
if(fw!=null)
fw.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
}
}
}