JAVA零碎(三)
位元組流
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");
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; } @Override 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; } }