การย้ายไฟล์ใน Java

ใน java.io.File ไม่มีเมธอดที่ใช้สำหรับการย้ายไฟล์ แต่เราสามารถทำได้โดยวิธีการอ้อมๆ โดยใช้:
  • File.renameTo(). 
  • การคัดลอกไฟล์ใหม่และลบตัวตัวต้นฉบับ. 
ต่อไปนี้เป็นอย่างของทั้งสองวิธี โดยที่จะทำการย้ายไฟล์ "C:\\users\\nopphanan7\\folderA\\Afile.txt" ไปยังโฟรเดอร์อื่นโดยใช้ชื่อเดียวกัน "C:\\users\\nopphanan7\\folderB\\Afile.txt".

1.ใช้ File.renameTo()
package demo.file;

import java.io.File;

public class MoveFileExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        try{
            
            File afile =new File("C:\\users\\nopphanan7\\folderA\\Afile.txt");
  
            if(afile.renameTo(new File("C:\\users\\nopphanan7\\folderB\\" + afile.getName()))){
             System.out.println("File is moved successful!");
            }else{
             System.out.println("File is failed to move!");
            }
         }catch(Exception e){
             e.printStackTrace();
         }
    }

}
ผลลัพธ์ที่ได้คือ
File is moved successful!

2. โดยทำการคัดลอกและลบ
package demo.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class MoveFileExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        InputStream inStream = null;
        OutputStream outStream = null;
     
            try{
     
                File afile =new File("C:\\users\\nopphanan7\\folderA\\Afile.txt");
                File bfile =new File("C:\\users\\nopphanan7\\folderB\\Afile.txt");
     
                inStream = new FileInputStream(afile);
                outStream = new FileOutputStream(bfile);
     
                byte[] buffer = new byte[1024];
     
                int length;
                //copy the file content in bytes 
                while ((length = inStream.read(buffer)) > 0){
     
                    outStream.write(buffer, 0, length);
     
                }
     
                inStream.close();
                outStream.close();
     
                //delete the original file
                afile.delete();
     
                System.out.println("File is copied successful!");
     
            }catch(IOException e){
                e.printStackTrace();
            }
        }

}
ผลลัพธ์ที่ได้คือ
File is copied successful!

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment