طرحت Sun نسخة تجريبية لjdk7 ، وبالطبع هي بعيدة عن النسخة النهائية، لكن فيها أشياء مثيرة للإهتمام خصوصا فيما يتعلق بالتعامل مع الFile System
سأتكلم هنا فقط عن نسخ الملفات الذي أصبح سهلا للغاية.
في النسخة الحالية ( السادسة ) وسابقاتها، كان يجب فتح InputStream وفتح OutputStream، ثم قراءة الInputStream وكتابة ما قرئ في الOutputStream
الآن كل ما نحتاجه هو المناداة على الميثود copyTo الخاصة بالكلاس Path
تعريف الكلاس
اقتباسOn many platforms a path is the means to locate and access files in a file system. A path is hierarchical and composed of a sequence of directory and file name elements separated by a special separator or delimiter.
A file reference that locates a file using a system dependent path. The file is not required to exist.
وهذا مثال بسيط
import java.nio.file.*;
import java.io.IOException;
public class CopyFileEasily {
public static void main(String[] args) {
try {
Path src = Paths.get("/home/issam/someFile");
Path target = Paths.get("/home/issam/someFileCopy");
src.copyTo(target, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES);
System.out.println("File copied succesfully");
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}الconstructor الخاص بالكلاس Path هو protected، لذلك من أجل إنشاء object من صنف Path، نستعمل الكلاس Paths والميثود get
الميثود copyTo تنتظر المسار حيث سننسخ، وأيضا parameters خاصة بعملية النسخ مثل REPLACE_EXISTING و COPY_ATTRIBUTES
لمعرفة المزيد Copying a File or Directory



