Java-IO
来源:互联网 发布:windows live id注册 编辑:程序博客网 时间:2024/06/09 19:58
一、Java-IO 的分类
1、基于字节操作的I/O接口:InputStream和OutputStream
2、基于字符操作的I/O接口:Writer和Reader
3、基于磁盘操作的I/O接口:File
4、基于网络操作的I/O接口:Socket(不在java.io包下)
二、File
参考博客:http://www.jb51.net/article/36126.htm
File类只用于表示文件(目录)的信息(名称,大小等),不能用于文件内容的访问。支持文件的复制,删除,移动,重命名等操作。
RandomAccessFile
RandomAccessFile不属于InputStream和OutputStream类系的,是直接继承Object的一个类。能够实现文件的随机读写。
- 文件打开方式分为:只读方式(“r”),还是以读写方式(“rw”)等;
- 保存了一个文件位置指针,指向文件正在读或者正在写的位置。获取指针位置getFilePointer( ),移动指针seek( ),判断文件大小length( )、skipBytes()跳过多少字节数。
三、InputStream和OutputStream
InputStream类图:
OutputStream类图:
四、Reader和Writer
Reader类图:
Writer类图:
四、对象的序列化
FileDemo
1、递归列出所有文件
/** * 递归列出所有文件 */ public static void showDir(File dir){// System.out.println(dir); File[] files =dir.listFiles(); if(files!=null){ for(File file:files){ if(file.isDirectory()) showDir(file);// else // System.out.println(file); } } }
2、文件过滤
/** * 文件过滤(FilenameFilter),只显示以 “.sys” 结尾的文件 */ public void fileFilter(){ File[] files =File.listRoots(); for(File file:files){// System.out.println(file); if(file.length()>0){ String[] filenames =file.list(new FilenameFilter(){ //file 过滤目录 name 文件名 public boolean accept(File file,String filename){ return filename.endsWith(".sys"); } }); for(String filename:filenames){ System.out.println(filename); } } } }
3、拷贝文件
/** * 找出d盘下所有的 .db 文件,拷贝至 d:\jad 目录下,并将所有文件的类型由.java 修改为.jad 。 */public static void moveFile(File dir){ File[] files=dir.listFiles(); if(files==null) return; for(File file:files){ if(file.isDirectory()) moveFile(file); else{ if(file.getName().endsWith(".db")){ System.out.println(file); file.renameTo(new File("d:\\jad\\"+ file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad")); } } } }
复制文件
public static void copyFile(File srcFile,File destFile) throws IOException{ FileInputStream in = new FileInputStream(srcFile); FileOutputStream out = new FileOutputStream(destFile); byte[] buf = new byte[1024]; int len; while((len=in.read(buf, 0, buf.length))!=-1){ out.write(buf, 0, len); } out.close(); in.close();}
“`
0 0
- 【Java-IO】IO入门
- Java IO:IO框架
- 【IO】java IO 总结
- java IO
- IO.java
- JAVA IO
- JAVA IO
- java IO
- java io
- JAVA IO
- java IO
- java IO
- java io
- java io
- java io
- java IO
- java IO
- java io
- 迭代Iteratio
- 设计模式之单例(Java)
- js中关于逻辑符号的连续使用问题
- 千万级用户直播APP——服务端结构设计和思考
- Android程序异常捕捉并上传服务器
- Java-IO
- BZOJ3052: [wc2013]糖果公园
- JS之map用法初探
- 卫语句
- iOS 基于FMDB简单的查询操作
- android去掉Launcher界面图标显示
- Linkedin Camus,从Kafka到HDFS的数据传输管道
- swift 3
- 10个最受欢迎的Java类