请允许我详细讲解一下“java 实现文件复制和格式更改的实例”的完整攻略。
准备工作
首先,我们需要明确目标:实现文件夹中文件的复制和格式的更改。需要先将文件夹中的文件集合到一个数组中,并且可根据一定规则(例如文件大小、文件类型等)对数组中的文件进行筛选。
//收集文件到数组
File folder = new File("源目录地址");
File[] fileList = folder.listFiles();
由于我们需要将文件夹下的所有文件拷贝到另外一个位置并且在拷贝时更改文件格式,因此我们可以新建一个方法copyFile
用于文件的复制。同时,在方法内部添加代码用于文件格式的修改。
public static void copyFile(String oldPath, String newPath){
try{
FileInputStream fis = new FileInputStream(oldPath);
FileOutputStream fos = new FileOutputStream(newPath);
byte[] b = new byte[1024];
int nRead;
while((nRead=fis.read(b))!=-1){
fos.write(b,0,nRead);
}
fis.close();
fos.close();
//同时在此添加更改文件格式的代码
} catch(IOException e){
e.printStackTrace();
}
}
实现文件复制
遍历上面收到的文件数组,将每个文件的路径传递给copyFile
方法以实现文件复制和格式更改。
for(File file : fileList){
String fileName = file.getName();
String fileFormat = fileName.substring(fileName.lastIndexOf(".")); //获取文件的格式
if(file.length() > 1024*1024*10 && fileFormat.equals(".txt")){ //文件大小超过10M且格式为txt的文件才需要复制到目标文件夹中
String newPath = "目标目录地址" + "/" + fileName.replace(fileFormat,".doc"); //规定更改后的格式为doc
copyFile(file.getPath(),newPath);
}
}
示例
示例1:将源目录中大小超过10M且格式为txt的文件都复制到目标目录下,并将文件格式更改为doc。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyAndFormatChange {
public static void main(String[] args){
//收集文件到数组
File folder = new File("源目录地址");
File[] fileList = folder.listFiles();
//复制并格式更改文件
for(File file : fileList){
String fileName = file.getName();
String fileFormat = fileName.substring(fileName.lastIndexOf("."));
if(file.length() > 1024*1024*10 && fileFormat.equals(".txt")){
String newPath = "目标目录地址" + "/" + fileName.replace(fileFormat,".doc");
copyFile(file.getPath(),newPath);
}
}
}
public static void copyFile(String oldPath, String newPath){
try{
FileInputStream fis = new FileInputStream(oldPath);
FileOutputStream fos = new FileOutputStream(newPath);
byte[] b = new byte[1024];
int nRead;
while((nRead=fis.read(b))!=-1){
fos.write(b,0,nRead);
}
fis.close();
fos.close();
} catch(IOException e){
e.printStackTrace();
}
}
}
示例2:将源目录中所有的文件都复制到目标目录下。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyAndFormatChange {
public static void main(String[] args){
//收集文件到数组
File folder = new File("源目录地址");
File[] fileList = folder.listFiles();
//复制文件
for(File file : fileList){
String newPath = "目标目录地址" + "/" + file.getName();
copyFile(file.getPath(),newPath);
}
}
public static void copyFile(String oldPath, String newPath){
try{
FileInputStream fis = new FileInputStream(oldPath);
FileOutputStream fos = new FileOutputStream(newPath);
byte[] b = new byte[1024];
int nRead;
while((nRead=fis.read(b))!=-1){
fos.write(b,0,nRead);
}
fis.close();
fos.close();
} catch(IOException e){
e.printStackTrace();
}
}
}
以上就是关于“java 实现文件复制和格式更改的实例”的完整攻略,希望可以对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 实现文件复制和格式更改的实例 - Python技术站