Java的焦点库java.io供给了周全的IO接口。包罗:文件读写、尺度设备输出等。Java中IO是以流为根本进行输入输出的,所稀有据被串行化写入输出流,或者从输入流读入。
第一步调:建立一个java项目。
1、file--》new--》project...或者Model...打开建立窗口
2、输入项目名称“copyFile”--》finish完当作
3、项目成果如下所示:
第二步调:利用java的FileStreams复制。
特点是对于只标的目的的文件若是不存在则直接建立,若是存在直接笼盖
完整代码如下所示:
引入架包:
import java.io.*;
import java.nio.channels.FileChannel;
public static void testFileStreams(){
FileInputStream fls = null;//建立文件输入
FileOutputStream fos = null;
// 建立文件输出流
try {
fls = new FileInputStream("E:/图片/捉妖记.jpg");
fos = new FileOutputStream("E:/file/捉妖记.jpg");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 边输入边输出(筹办数组和temp)
byte[] bytes = new byte[1024];
//以1KB的速度
int temp = 0;
try {
//轮回输入
while((temp=fls.read(bytes)) != -1){
try {
//写入输出
fos.write(bytes,0,temp);
} catch (IOException e) {
e.printStackTrace();
}
}
//刷新输出流
fos.flush();
// 封闭输入输出流
fls.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
第三步调:利用Java的FileChannel复制。
FileChannel的实例现实上仍是FileStreams,不外对其进行了包装机能上更高一下,也加倍便利一点。
代码如下:
引入架包:
import java.io.*;
import java.nio.channels.FileChannel;
public static void testFileChannel(){
File inFile = new File("E:/图片/捉妖记.jpg");
File outFile = new File("E:/file/捉妖记.jpg");
FileChannel inputChannel = null;
FileChannel outputChannel = null; t
ry {
inputChannel = new FileInputStream(inFile).getChannel();
outputChannel = new FileOutputStream(outFile).getChannel();
outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
inputChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
outputChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}}
第四步调:利用Apache的文件东西类FileUtils。
这个利用加倍简单,可是需要添加tomcat的架包依靠commons-io.jar。
public static void main(String[] args) {
File inFile = new File("E:/图片/捉妖记.jpg");
File outFile = new File("E:/file/捉妖记.jpg");
try {
org.apache.commons.io.FileUtils.copyFile(inFile, outFile);
} catch (IOException e) {
e.printStackTrace();
}
}
第五步调:利用jdk供给的Files
引入架包:
import java.io.*;
import java.nio.file.Files;
这个需要jdk1.7以上版本才能撑持
public static void main(String[] args) {
File inFile = new File("E:/图片/捉妖记.jpg");
File outFile = new File("E:/file/捉妖记.jpg");
try {
Files.copy(inFile.toPath(), outFile.toPath());
} catch (IOException e) {
e.printStackTrace();
}}
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!