Java文件复制与读写
函数介绍
public String readLine():每次读取文件的一行,当文件读取完毕时,返回null
public int read(byte[] b):将文件内容读取到字节数组b
public int write(byte[] b, int off, int len):将字节数组中[off, off+len)位置的内容写入文件
文件复制
其实文件复制,在读取一个文件的同时,将读取到的内容写入另外一个文件中
代码实例
package cn.edu.pzhu;
import java.io.*;
public class FileCopyDemo {
public static void main(String[] args) throws IOException {
String src = "D:\\Test\\in.data";
String des = "D:\\Test\\out.data";
//复制文件
boolean success = copyFile(src, des);
if (success) {
//文件复制成功
System.out.println("读取成功,该文件的内容是:");
readFile(des);
} else {
//复制失败
System.out.println("Copy failed");
}
}
//读取文件
public static void readFile(String des) throws IOException {
File file = new File(des);
BufferedReader buffRead = new BufferedReader(new FileReader(file));
String line = null;
while((line = buffRead.readLine()) != null) {
System.out.println(line);
}
}
//创建文件
public static void createFile(String fileName) throws IOException {
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile(); //创建该文件
}
}
//将文件从src复制到des
public static boolean copyFile(String src, String des) throws IOException {
boolean ok = true;
File fsrc = new File(src);
File fdes = new File(des);
if (!fsrc.exists()) {
System.out.println(fsrc.getAbsolutePath() + "is not exists!");
return false;
}
//目标文件不存在
if (!fdes.exists()) {
createFile(des);
}
//目标文件是文件夹
if (fdes.isDirectory()) {
System.out.println(fdes.getAbsolutePath()+" is a directory!");
return false;
}
//开始复制文件
//创建文件输入流
FileInputStream fin = null;
FileOutputStream fout = null;
try {
fin = new FileInputStream(fsrc);
//创建文件输出流
fout = new FileOutputStream(fdes);
//创建缓存区
byte buff[] = new byte[1024];
int len;
while((len = fin.read(buff)) != -1) {
fout.write(buff, 0, len);
}
} catch (Exception e) {
ok = false;
e.printStackTrace();
} finally {
fin.close();
fout.close();
}
return ok;
}
}
如有不当之处欢迎指出!
Java文件复制与读写的更多相关文章
- IO复制多级目录 控制台输入文件目录然后把目录下java文件复制到 D: 并统计java个数
package cn.itcast_05; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...
- java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数
File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg
package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- java 文件复制
java实现文件复制 CreateTime--2017年9月7日15:04:48 Author:Marydon 1.需求 根据原文件复制一份到指定位置 2.代码实现 需要导入: import ja ...
- Java文件复制删除操作合集
import java.io.*; public class FileOperate { public FileOperate() { } /** * 新建目录 * @param folderPath ...
- java 文件复制操作
本案例采用第三方 jar 包完成,commons-io-2.5.jar, 这个 jar 对文件操作非常方便,大家可以尝试使用一下. 这里贴一个简单的 demo 供大家使用 import java.io ...
- java文件复制函数
在写代码中,经常会需要复制文件.这时候就可以把这些函数放到工具类里面. 下面是一个复制文件的函数: public class CopyFileUtil { private static String ...
- Java文件复制
主要是工作代码,无解释. /** * 将文件或文件夹source复制到dest * <br>目标文件检测: * <br> a.当文件不存在时:需要创建文件 * <br&g ...
随机推荐
- Linux指令--wget
Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...
- [搬运] .NET Core 2.1中改进的堆栈信息
原文 : Stacktrace improvements in .NET Core 2.1 作者 : Ben Adams 译者 : 张很水 . NET Core 2.1 现在具有可读的异步堆栈信息!使 ...
- Calendar使用方法
Calendar类的静态方法getInstance()可以初始化一个日历对象: Calendar now = Calendar.getInstance(); 可以使用下面三个方法把日历定到任何一个时间 ...
- Android Acitivy切换平移动画效果实现
1.在anim目录下新建anim文件夹,新建tran_in.xml和tran_out.xml分别表示下一页切换进入,和本页切换出去. 即in表示下一页向左平移,out表示同样向左平移至消失. tran ...
- border-image用法详解
图像边框 border-image使用方法:border-image:url('图像路径') 边距(不能带单位)/宽度 上下方式 左右方式:(四个边距,上右下左,相同时可缩写为一个)repeat平铺 ...
- 【转】十分有用的linux shell学习总结
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们 数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- 【转】GLONASS全球卫星导航系统
GLONASS是“GLOBAL NAVIGATION SATELLITE SYSTE(全球卫星导航系统)”的缩写,作用类似于美国的GPS.欧洲的伽利略卫星定位系统.最早开发于苏联时期,后由俄罗斯继续该 ...
- 小白的.Net Core 2.0 ConsoleApp入门(keng)指南(一)
一.准备工作 准备工作很简单,甚至可以不用Visual Studio,一只.NET CORE和Runtime即可(你有考虑过世界第一IDE的感受吗) 下载:https://www.microsoft. ...
- Docker之镜像
镜像(Images) 镜像是Docker的三大核心之一,类似于虚拟机,作用和虚拟机是一样的,唯独是组成部分会有些区别.简单的说如果我们想启动一个容器就必须要有镜像.docker运行容器前需要本地存在对 ...
- Spring Boot 使用maven打包成jar
1.application.properties加入如下配置 server.port= 2.修改pom.xml <?xml version="1.0" encoding=&q ...