Java 将文件移动到新位置,然后删除以前的文件
我想将文件从一个路径移动到另一个路径,但不是移动它,而是将文件复制到新位置。 请提供任何提示 提前谢谢Java 将文件移动到新位置,然后删除以前的文件,java,android,file,Java,Android,File,我想将文件从一个路径移动到另一个路径,但不是移动它,而是将文件复制到新位置。 请提供任何提示 提前谢谢 MovePngToPreviewDir pngToPreviewDir = new MovePngToPreviewDir(null, "png"); File[] listOfPNGFiles = RootDir.listFiles(pngToPreviewDir); for(File file:listOfPNGFile
MovePngToPreviewDir pngToPreviewDir = new MovePngToPreviewDir(null, "png");
File[] listOfPNGFiles = RootDir.listFiles(pngToPreviewDir);
for(File file:listOfPNGFiles){
Log.e("PNG = ",file.getAbsolutePath());
Log.e("PNG = ",file.getName());
if(previewDiagramDir == null){
Log.e("Preview Diagram Dir is NULL","Preview Diagram DIR is NULL");
}
if(file!= null && previewDiagramDir != null){
Log.e("Preview Diagram Dir",previewDiagramDir.getAbsolutePath()+"/");
if(file.renameTo(new File(previewDiagramDir, file.getName()))){
Log.e("PNG File is successfully Moved",file.getName());
}else{
Log.e("Error in Moving PNG File","Error in Moving PNG file");
}
}else{
}
将文件复制到另一个位置后,请使用
file.delete()
,以便将其完全移动到新位置。如果要将文件复制到另一个位置,可以使用file.rename()的file
类的方法,与istance对象file
相关,尝试以下操作:
file.renameTo(new File("new_directory_to_copy_file"+file.getName()));
复制文件后,您可以使用file.delete()将其删除代码>
注意:方法delete()
返回一个布尔对象,然后您可以使用以下方法检查正确的文件删除:
boolean del = file.delete();
if(del) System.out.println("File "+file.getName()+" deleted!");
else System.out.println("File "+file.getName()+"not deleted!");
关于文件
类API:我已将文件移动到目标目录,并在移动后以三种方式从源文件夹中删除了这些移动的文件,最后在我的项目中使用了第三种方法
第一种方法:
File folder = new File("SourceDirectory_Path");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
Files.move(Paths.get("SourceDirectory_Path"+listOfFiles[i].getName()), Paths.get("DestinationDerectory_Path"+listOfFiles[i].getName()));
}
System.out.println("SUCCESS");
Path sourceDir = Paths.get("SourceDirectory_Path");
Path destinationDir = Paths.get("DestinationDerectory_Path");
try(DirectoryStream<Path> directoryStream = Files.newDirectoryStream(sourceDir)){
for (Path path : directoryStream) {
File d1 = sourceDir.resolve(path.getFileName()).toFile();
File d2 = destinationDir.resolve(path.getFileName()).toFile();
File oldFile = path.toFile();
if(oldFile.renameTo(d2)){
System.out.println("Moved");
}else{
System.out.println("Not Moved");
}
}
}catch (Exception e) {
e.printStackTrace();
}
Path sourceDirectory= Paths.get(SOURCE_FILE_PATH);
Path destinationDirectory = Paths.get(SOURCE_FILE_MOVE_PATH);
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(sourceDirectory)) {
for (Path path : directoryStream) {
Path dpath = destinationDirectory .resolve(path.getFileName());
Files.move(path, dpath, StandardCopyOption.REPLACE_EXISTING);
}
} catch (IOException ex) {
ex.printStackTrace();
}
File folder=新文件(“SourceDirectory_Path”);
File[]listOfFiles=folder.listFiles();
for(int i=0;i
第二种方法:
File folder = new File("SourceDirectory_Path");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
Files.move(Paths.get("SourceDirectory_Path"+listOfFiles[i].getName()), Paths.get("DestinationDerectory_Path"+listOfFiles[i].getName()));
}
System.out.println("SUCCESS");
Path sourceDir = Paths.get("SourceDirectory_Path");
Path destinationDir = Paths.get("DestinationDerectory_Path");
try(DirectoryStream<Path> directoryStream = Files.newDirectoryStream(sourceDir)){
for (Path path : directoryStream) {
File d1 = sourceDir.resolve(path.getFileName()).toFile();
File d2 = destinationDir.resolve(path.getFileName()).toFile();
File oldFile = path.toFile();
if(oldFile.renameTo(d2)){
System.out.println("Moved");
}else{
System.out.println("Not Moved");
}
}
}catch (Exception e) {
e.printStackTrace();
}
Path sourceDirectory= Paths.get(SOURCE_FILE_PATH);
Path destinationDirectory = Paths.get(SOURCE_FILE_MOVE_PATH);
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(sourceDirectory)) {
for (Path path : directoryStream) {
Path dpath = destinationDirectory .resolve(path.getFileName());
Files.move(path, dpath, StandardCopyOption.REPLACE_EXISTING);
}
} catch (IOException ex) {
ex.printStackTrace();
}
Path sourceDir=Path.get(“SourceDirectory_Path”);
Path destinationDir=Path.get(“destinationdirectory_Path”);
try(DirectoryStream DirectoryStream=Files.newDirectoryStream(sourceDir)){
for(路径:directoryStream){
文件d1=sourceDir.resolve(path.getFileName()).toFile();
文件d2=destinationDir.resolve(path.getFileName()).toFile();
File oldFile=path.toFile();
如果(oldFile.renameTo(d2)){
系统输出打印项次(“移动”);
}否则{
系统输出打印项次(“未移动”);
}
}
}捕获(例外e){
e、 printStackTrace();
}
第三种方法:
File folder = new File("SourceDirectory_Path");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
Files.move(Paths.get("SourceDirectory_Path"+listOfFiles[i].getName()), Paths.get("DestinationDerectory_Path"+listOfFiles[i].getName()));
}
System.out.println("SUCCESS");
Path sourceDir = Paths.get("SourceDirectory_Path");
Path destinationDir = Paths.get("DestinationDerectory_Path");
try(DirectoryStream<Path> directoryStream = Files.newDirectoryStream(sourceDir)){
for (Path path : directoryStream) {
File d1 = sourceDir.resolve(path.getFileName()).toFile();
File d2 = destinationDir.resolve(path.getFileName()).toFile();
File oldFile = path.toFile();
if(oldFile.renameTo(d2)){
System.out.println("Moved");
}else{
System.out.println("Not Moved");
}
}
}catch (Exception e) {
e.printStackTrace();
}
Path sourceDirectory= Paths.get(SOURCE_FILE_PATH);
Path destinationDirectory = Paths.get(SOURCE_FILE_MOVE_PATH);
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(sourceDirectory)) {
for (Path path : directoryStream) {
Path dpath = destinationDirectory .resolve(path.getFileName());
Files.move(path, dpath, StandardCopyOption.REPLACE_EXISTING);
}
} catch (IOException ex) {
ex.printStackTrace();
}
Path sourceDirectory=Path.get(源文件路径);
Path destinationDirectory=Path.get(源文件移动路径);
try(DirectoryStream DirectoryStream=Files.newDirectoryStream(sourceDirectory)){
对于(路径:directoryStream){
Path dpath=destinationDirectory.resolve(Path.getFileName());
移动(路径、dpath、StandardCopyOption.REPLACE_现有);
}
}捕获(IOEX异常){
例如printStackTrace();
}