字节流
InputStream is=new FileInputStream(xx)
OutputStream os=new FileOutputStream(xx)
FileReader fr=new FileReader(xx)
DataOutputStream怎么写就怎么读
字符流
Reader reader=new InputStreamReader(new FileInputStream(xx),可加编码));
Writer writer=new OutputStreamWriter(new FileOutputStream(xx,可加编码));
char[] cs = { 'h', 'e', 'l', 'l', 'o', '我' };
writer.write(cs);
writer.write(1);
writer.append('1');
writer.write("sasas");
len=reader.read();
writer.write((char) len);
对象流 对象需序列化,Serializable,static变量和transiment变量不会被序列化
ObjectOutputStream dos=new ObjectOutputStream(new FileOutputStream(xx));
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(xx));
随机读取
RandomAccessFile ras=new RandomAccessFile("xx","rw");
//r只读
rw读写
rwd 相对于rw还要求对文件内容的每个更新同步写入到基础存储设备
rws相对rwd还要求对元数据的每个更新同步写入到基础存储设备
ras.write("hello".getBytes());
ras.writeInt(10);
ras.writeBoolean(false);
ras.writeChar('a');
ras.writeUTF("中");
ras.seek(0);
ras.write('H');
ras.seek(3);
ras.write('3');
文件过滤器
File[] files=file.listFiles(new MyFileNameFilter(".txt"));
class MyFileNameFilter implements FilenameFilter
{
private String extendtion[];
public MyFileNameFilter(String extendtion[])
{
this.extendtion=extendtion;
}
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
for(int i=0;i<extendtion.length;i++)
{
String ext=extendtion[i];
if(name.endsWith(ext));
{
return true;
}
}
return false;
}
}