قم بإنشاء مسار كامل تلقائيًا عند الكتابة إلى ملف جديد
-
26-09-2019 - |
سؤال
أريد أن أكتب ملفًا جديدًا مع FileWriter
. أنا أستخدمه مثل هذا:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
الآن dir1
و dir2
حاليا غير موجود. أريد أن تقوم Java بإنشائها تلقائيًا إذا لم تكن موجودة بالفعل. في الواقع ، يجب على Java إعداد مسار الملف بأكمله إن لم يكن موجودًا بالفعل.
كيف يمكنني تحقيق ذلك؟
المحلول
شيء مثل:
File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
نصائح أخرى
منذ Java 1.7 يمكنك استخدام Files.createfile:
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
يستخدم File.mkdirs()
:
File dir = new File("C:\\user\\Desktop\\dir1\\dir2");
dir.mkdirs();
File file = new File(dir, "filename.txt");
FileWriter newJsp = new FileWriter(file);
يستخدم File.mkdirs()
.
يستخدم FileUtils للتعامل مع كل هذه الصداع.
تحرير: على سبيل المثال ، استخدم الرمز أدناه للكتابة إلى ملف ، ستقوم هذه الطريقة "التحقق من وإنشاء الدليل الأصل إذا لم يكن موجودًا".
openOutputStream(File file [, boolean append])
لا تنتمي إلى StackOverflow