文件读取、复制
来源:互联网 发布:淘宝网最近打不开 编辑:程序博客网 时间:2024/05/22 06:57
package io1;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class IOUtil {/** * 读取指定文件内容,按照16进制输出到控制台 * 并且每输出10个byte换行 * @param fileName * 单字节读取不适合大文件,大文件效率很低 */public static void printHex(String fileName)throws IOException{//把文件作为字节流进行读操作FileInputStream in = new FileInputStream(fileName);int b ;int i = 1;while((b = in.read())!=-1){if(b <= 0xf){//单位数前面补0System.out.print("0");}System.out.print(Integer.toHexString(b)+" ");if(i++%10==0){System.out.println();}}in.close();}/** * 批量读取,对大文件而言效率高,也是我们最常用的读文件的方式 * @param fileName * @throws IOException */public static void printHexByByteArray(String fileName)throws IOException{FileInputStream in = new FileInputStream(fileName);byte[] buf = new byte[8 * 1024];/*从in中批量读取字节,放入到buf这个字节数组中, * 从第0个位置开始放,最多放buf.length个 * 返回的是读到的字节的个数*//*int bytes = in.read(buf,0,buf.length);//一次性读完,说明字节数组足够大int j = 1; for(int i = 0; i < bytes;i++){System.out.print(Integer.toHexString(buf[i] & 0xff)+" ");if(j++%10==0){System.out.println();}}*/ int bytes = 0; int j = 1; while((bytes = in.read(buf,0,buf.length))!=-1){ for(int i = 0 ; i < bytes;i++){ System.out.print(Integer.toHexString(buf[i] & 0xff)+" "); if(j++%10==0){ System.out.println(); } } } in.close();}/** * 文件拷贝,字节批量读取 * @param srcFile * @param destFile * @throws IOException */public static void copyFile(File srcFile,File destFile)throws IOException{if(!srcFile.exists()){throw new IllegalArgumentException("文件:"+srcFile+"不存在");}if(!srcFile.isFile()){throw new IllegalArgumentException(srcFile+"不是文件");}FileInputStream in = new FileInputStream(srcFile);FileOutputStream out = new FileOutputStream(destFile);byte[] buf = new byte[8*1024];int b ; while((b = in.read(buf,0,buf.length))!=-1){ out.write(buf,0,b); out.flush();//最好加上 } in.close(); out.close();}/** * 进行文件的拷贝,利用带缓冲的字节流 * @param srcFile * @param destFile * @throws IOException */public static void copyFileByBuffer(File srcFile,File destFile)throws IOException{if(!srcFile.exists()){throw new IllegalArgumentException("文件:"+srcFile+"不存在");}if(!srcFile.isFile()){throw new IllegalArgumentException(srcFile+"不是文件");}BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));int c ;while((c = bis.read())!=-1){bos.write(c);bos.flush();//刷新缓冲区}bis.close();bos.close();}/** * 单字节,不带缓冲进行文件拷贝 * @param srcFile * @param destFile * @throws IOException */public static void copyFileByByte(File srcFile,File destFile)throws IOException{if(!srcFile.exists()){throw new IllegalArgumentException("文件:"+srcFile+"不存在");}if(!srcFile.isFile()){throw new IllegalArgumentException(srcFile+"不是文件");}FileInputStream in = new FileInputStream(srcFile);FileOutputStream out = new FileOutputStream(destFile);int c ;while((c = in.read())!=-1){out.write(c);out.flush();}in.close();out.close();}}
0 0
- 读取并复制文件
- 读取复制图片文件
- 文件读取、复制
- Java读取并复制文件
- java IO流 读取文件 && 文件复制
- IO流读取文件内容并复制
- 字节流读取、写入、复制文件
- Java读取复制超大文件加速
- C 之 读取和复制文件
- FileStream对文件、多媒体文件进行 复制 读取 写入
- java读取.properties文件及文件复制(通道)
- javaIO关于文件操作(读取,写入,复制,遍历所有文件)
- java的IO流复制文件和读取文件内容
- 复制文件读取(字节数据) ,写字节数据
- Java基本的文件读取,和复制,初学者
- javascript ActiveXObject FileSystemObject 对象,创建、复制、删除、读取文件等
- Jave文件操作(读取写入复制创建删除)
- 通过java字节流复制文件,逐个字节读取写入
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
- Android中的几种消息通知
- 查询mysql版本
- 菜单及提示框
- C/C++程序编译流程
- 文件读取、复制
- 吃活珠子促早熟
- mysql查询隔离级别、自动提交
- 线程实现JAVA编写时钟案例
- php模拟post方式提交数据
- openwrt 之 查看进程占用的内存的大小
- 蓝牙、WIFI、无线模块的使用规范及开发指南
- 这些小工具让你的Android 开发更高效
- C++构造函数