文件夹aa中有文件夹bb,bb文件夹中有文件cc.txt,dd.txt.如何把文件cc.txt,dd.txt,复制到aa中 Android 如何遍历bb中的文件,保存FileInfo信息
时间: 2024-09-11 20:02:53 浏览: 54
第10章 模块.pptx
在Android系统中,可以通过使用`java.io.File`类和`java.nio.file.Files`类来遍历文件夹`bb`中的文件,并进行复制和保存文件信息的操作。以下是具体的步骤和代码示例:
1. 遍历`bb`文件夹中的所有文件,获取它们的`FileInfo`信息。
2. 将`cc.txt`和`dd.txt`复制到`aa`文件夹中。
下面是实现这些操作的代码示例:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class FileCopyExample {
public static void main(String[] args) {
// 指定源文件夹和目标文件夹的路径
File sourceFolder = new File("/path/to/aa/bb"); // 替换为实际的路径
File targetFolder = new File("/path/to/aa"); // 替换为实际的路径
// 用于存储文件信息的列表
List<FileInfo> fileInfoList = new ArrayList<>();
// 遍历bb文件夹中的所有文件
File[] files = sourceFolder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isFile()) {
// 获取文件信息
FileInfo fileInfo = new FileInfo(file.getName(), file.length(), file.lastModified());
fileInfoList.add(fileInfo);
// 复制文件到aa文件夹中
File targetFile = new File(targetFolder, file.getName());
try (FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(targetFile)) {
Files.copy(fis, targetFile.toPath());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// 如果需要,可以在这里处理fileInfoList中的FileInfo信息
}
// 定义一个简单的FileInfo类来保存文件信息
public static class FileInfo {
private String fileName;
private long fileSize;
private long lastModified;
public FileInfo(String fileName, long fileSize, long lastModified) {
this.fileName = fileName;
this.fileSize = fileSize;
this.lastModified = lastModified;
}
// 提供getter方法
public String getFileName() {
return fileName;
}
public long getFileSize() {
return fileSize;
}
public long getLastModified() {
return lastModified;
}
}
}
```
在这个示例中,首先定义了一个`FileInfo`类来保存文件名、文件大小和最后修改时间。然后在`main`方法中,通过`listFiles`方法获取`bb`文件夹中所有文件的数组,并遍历这个数组。对于每个文件,创建一个`FileInfo`实例并添加到列表中,同时使用`Files.copy`方法将文件复制到`aa`文件夹中。
请注意,上述代码中的路径需要替换为实际的文件路径。另外,确保应用有读写文件系统的权限。
阅读全文