يعتمد نظام مشروع محتوى MIS على إدارة موارد المستندات وإدارتها. يتطلب مسح جميع الملفات تحت مجلد وتنفيذ الكود المطلوب.
حزمة q.test.filescanner ؛ استيراد java.io.file ؛ استيراد java.util.arraylist ؛ استيراد java.util.linkedList ؛ استيراد q.test.filescanner.exception.scanfilesexception ؛ / ** * Author */ public class FolderFilescanner {private static arraylist <Object> scanfiles = new ArrayList <Object> () ؛ / ** تنفيذ LinkedList **/ LinkedList ثابت خاص <IPER> QUEUEFILES = NEW LinkedList <IPER> () ؛ / ***TODO: فحص الملف المحدد بشكل متكرر ضمن المجلد المحدد* @REGRARELLILD <Object>*Author* @Time 3 نوفمبر ، 2017*/ Public Static ArrayList <Object> ** ScanFilesWithRecursion ** (سلسلة FolderPath) يلقي Scanfilesexception {arrayList <Stray> أدلة = New ArrayList <string> () ؛ دليل الملف = ملف جديد (FolderPath) ؛ if (! directory.isdirectory ()) {رمي scanfilesexception جديد ('' '' + folderpath + '' '' + "ليس دليلًا ، يرجى إدخال المسار الصحيح للدليل.^_^...^_^") ؛ } if (directory.isdirectory ()) {file [] fileList = directory.listfiles () ؛ لـ (int i = 0 ؛ i <fileList.length ؛ i ++) { /** إذا كان حاليًا مجلد ، فأدخل مجلد المسح التكراري ** /if (fileList [i] .isdirectory ()) {// المطلقة اسم سلسلة المسار. / ** مسح المجلد بشكل متكرر أدناه **/ ** scanfileswithRecursion ** (FileList [i] .getabsolutepath ()) ؛ } / ** non-folder ** / else {scanfiles.add (fileList [i] .getabsolutepath ()) ؛ }}} return scanfiles ؛ } / *** TODO: مسح جميع الملفات الموجودة أسفل المجلد المحدد بطريقة غير متكررة* @REGRARENT ARRAYLIST <Object>* param FolderPath مسار المجلد الذي يحتاج إلى مسح* @time @time 3 نوفمبر ، 2017* / public static armist <Object> scanfileswithnorecursion (سلسلة مجلد المجبر) if (! directory.isdirectory ()) {رمي scanfilesexception جديد ('' '' + folderpath + '' '' + "ليس دليلًا ، يرجى إدخال المسار الصحيح للدليل.^_^...^_^") ؛ } آخر {// أولاً ، قم بفحص ملف دليل الطبقة الأولى [] ملفات = directory.listfiles () ؛ // تحويل مجموعة الملفات الممسوحة ضوئيًا. إذا كان مجلد ، فضعه في LinkedList وقم بمعالجته لاحقًا (int i = 0 ؛ i <files.length ؛ i ++) {if (files [i] .isdirectory ()) {queuefiles.add (files [i]) ؛ } آخر {// ضع اسم الملف مؤقتًا في scanfiles scanfiles.add (ملفات [i] .getabsolutepath ()) ؛ }} // إذا كانت LinkedList غير فارغة LinkedList بينما (! queuefiles.isempty ()) {// إخراج الملف الأول في LinkedList HeadDirectory = queuefiles.removefirst () ؛ file [] currentfiles = headdirectory.listfiles () ؛ لـ (int j = 0 ؛ j <currentfiles.length ؛ j ++) {if (currentfiles [j] .isdirectory ()) {// إذا كان لا يزال مجلد ، فضعه في linkedlist queuefiles.add (currentfiles [j]) ؛ } آخر {scanfiles.add (currentfiles [j] .getabsolutepath ()) ؛ }}} return scanfiles ؛ }}}}} return scanfiles ؛ }}}}}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.