Java I/O流-总结(InputStream,OutputStream,Reader,Writer) (三)

2014-11-24 08:16:56 · 作者: · 浏览: 1

}

if(osw!=null){

BufferedWriter bw=new BufferedWriter(osw);

try {

if(content!=null&&!"".equals(content)){

bw.write(content);

flag= true;

}

} catch (IOException e) {

flag=false;

e.printStackTrace();

}finally{

try {

bw.close();

osw.close();

} catch (IOException e) {

flag=false;

e.printStackTrace();

}

}

}

return flag;

}









六、 RandomAccessFile

6.1:说明

RandomAccessFile是一种特殊的文件流,可以用它在文件的任何地方查找或者插入数据

RandomAccessFile同时实现了DataInput和DataOutput接口,所以可以用它来读/写文件

构造器:

---RandomAccessFile(java.io.File f,String mode)

---RandomAccessFile(String file,String mode)

6.2:代码示例

/**

*Description: 读取文件最后一行内容

*@param fileName文件路径名+文件名

*/

publicstatic String getfinalLineData(StringpathName){

RandomAccessFileraf = null;

StringlastLine = "";

try {

raf = new RandomAccessFile(pathName,"r");

long len = raf.length();

if (len != 0L) {

long pos = len - 1;

while (pos > 0) {

pos--;

raf.seek(pos);

if (raf.readByte() =='\n') {

lastLine = raf.readLine();

break;

}

}

}

} catch (Exception e) {

e.printStackTrace();

}finally {

if (raf !=null) {

try {

raf.close();

} catch (IOException e1) {

e1.getStackTrace();

}

}

}

return lastLine;

}

七、 注意事项

1、将高级流“套接“在低级流上,这样起到缓冲的作用可以提高效率。

2、将使用完的流关闭,释放资源。

3、读取如图片、声音、影像等文件用字节流。

4、读取如文本等文件用字符流。

5、根据具体的数据格式选择合适的读写方法、如按行读写、按照字节读写等


摘自 oypj2010的专栏