تشارك هذه المقالة أداة قراءة ملفات Java المحددة في Java للرجوع إليها. المحتوى المحدد كما يلي
استيراد java.io.bufferedInputStream ؛ استيراد java.io.bufferedoutputstream ؛ استيراد java.io.bufferedreader ؛ استيراد java.io.file ؛ import java.io.fileinputstream ؛ استيراد java.io.filereader java.io.ioException ؛ استيراد java.io.inputstream ؛ استيراد java.io.inputstreamreader ؛ استيراد java.io.outputstream ؛ استيراد java.io.printwriter ؛ استيراد java.net.urlencoder ؛ استيراد java.util.Araylist ؛ java.util.hashmap ؛ استيراد java.util.hashset ؛ استيراد java.util.list ؛ استيراد javax.servlet.http.httpservletspons class fileUtils {/*** احصل على دليل جذر المشروع لنظام التشغيل Windows/Linux* regurn*/سلسلة ثابتة getContextPath () {string fileurl = thread.currentThread (). getContextClassLoader (). if ("usr" .equals (fileurl.substring (1،4)))) {fileurl = (fileurl.substring (0 ، fileurl.length ()-16)) ؛ // linux} else {fileurl = (fileurl.substring (1 ، fileurl.length ()-16)) } / *** سلسلة إلى Array* param str string* param splitsstr delimiter* @return* / public static string [] stringtoarray (String str ، String splitststr) {string [] tarraystr = null ؛ if (! "." } else {tarraystr = new string [1] ؛ arraystr [0] = str ؛ }} return thraystr ؛ } / ** * اقرأ الملف * * param path * regurn * / public static readfile (string path) {bufferedReader reader = null ؛ سلسلة LastStr = "" ؛ حاول {fileInputStream fileInputStream = جديد fileInputStream (path) ؛ inputStreamReader inputStreamReader = جديد inputStreamReader (fileInputStream ، "UTF-8") ؛ reader = جديد bufferedReader (inputStreamReader) ؛ سلسلة tempstring = فارغة ؛ بينما ((tempString = reader.ReadLine ())! = null) {lastStr += tempString ؛ } reader.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (reader! = null) {try {reader.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} return laststr ؛ } /** * احصل على أسماء جميع الملفات في المجلد + الاستعلام الغامض (عندما لا تكون هناك حاجة لاستعلام غامض ، يمكن تمرير Querystrt فارغًا أو فارغًا) * 1. إرجاع قيمة rettype هي 3 ، قائمة اسم الملف fileNamelist ، قائمة المجلد Foldernamelist * param folderpath path * param QueryStr fuzzy query Query * @RETURN */ public static hashmap <string ، Object> getFilesName (string folderpath ، string QueryStr) قائمة <Tring> fileNamelist = new ArrayList <> () ؛ // قائمة قائمة اسم الملف <String> Foldernamelist = جديد ArrayList <> () ؛ // ملف قائمة اسم المجلد f = ملف جديد (FolderPath) ؛ if (! f.exists ()) {// المسار غير موجود map.put ("rettype" ، "1") ؛ } else {boolean flag = f.isdirectory () ؛ if (flag == false) {// المسار هو ملف map.put ("rettype" ، "2") ؛ map.put ("filename" ، f.getName ()) ؛ } آخر {// المسار هو مجلد map.put ("rettype" ، "3") ؛ ملف fa [] = f.listfiles () ؛ Querystr = Querystr == null؟ "": Querystr ؛ // إذا تم تمرير QueryStr إلى NULL ، استبدله بـ فارغة (لا يمكن أن تكون قيمة مطابقة الفهرس NULL) لـ (int i = 0 ؛ i <fa.length ؛ i ++) {file fs = fa [i] ؛ if (fs.getName (). indexof (Querystr)! =-1) {if (fs.isDirectory ()) {foldernamelist.add (fs.getName ()) ؛ } آخر {fileNamelist.add (fs.getName ()) ؛ }}} map.put ("filenamelist" ، fileNamelist) ؛ map.put ("Foldernamelist" ، Foldernamelist) ؛ }} خريطة الإرجاع ؛ } / ** * اقرأ الملف في وحدات السلوك وقراءة إلى السطر الأخير * param filepath * @REGANTURN * / قائمة ثابتة عامة <string> readFiLeContent (سلسلة filepath) {bufferedReader reader = null ؛ قائمة <Tring> listContent = new ArrayList <> () ؛ Try {reader = new BufferedReader (New FileReader (filepath)) ؛ سلسلة tempstring = فارغة ؛ خط int = 1 ؛ // اقرأ سطرًا واحدًا في وقت واحد حتى يكون NULL نهاية الملف بينما ((tempString = reader.ReadLine ())! = null) {listcontent.add (tempString) ؛ Line ++ ؛ } reader.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (reader! = null) {try {reader.close () ؛ } catch (ioException e1) {}}} return listcontent ؛ } / ** * اقرأ بيانات الصف المحددة ، ملاحظة: 0 هو سطر البدء * param filepath * param linenumber * @return * / سلسلة ثابتة عامة readLinEcontent (سلسلة FilePath ، int linenumber) {bufferedReader reader = null ؛ سلسلة linecontent = "" ؛ Try {reader = new BufferedReader (New FileReader (filepath)) ؛ خط int = 0 ؛ بينما (السطر <= الكتان) {linecontent = reader.ReadLine () ؛ Line ++ ؛ } reader.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (reader! = null) {try {reader.close () ؛ } catch (ioException e1) {}} return linecontent ؛ } / *** اقرأ البيانات من البداية إلى endline (بما في ذلك LEGHLINE و endline) ، ملاحظة: 0 هو سطر البدء* param filepath* param beginlinenumber line* @param endlinenber end line* @return* / public static list <string> readlinescontent (string filepath ، int interlinumber ، int endlinnumber) حاول {int count = 0 ؛ BufferedReader Reader = جديد BufferedReader (New FileReader (FilePath)) ؛ سلسلة المحتوى = reader.ReadLine () ؛ بينما (content! = null) {if (count> = beginlinenumber && count <= endlinenumber) {listcontent.add (content) ؛ } content = reader.ReadLine () ؛ count ++ ؛ }} catch (استثناء e) {} return listcontent ؛ } / ** * اقرأ جميع البيانات في العديد من الملفات * param listfilepath * regurn * / قائمة ثابتة عامة <string> readfileContent_List (قائمة <Tring> listFilePath) {list <string> listContent = new ArrayList <> () ؛ لـ (String FilePath: listFilePath) {file file = file new (filepath) ؛ BufferedReader Reader = NULL ؛ Try {reader = new BufferEdReader (New FileReader (file)) ؛ سلسلة tempstring = فارغة ؛ خط int = 1 ؛ // اقرأ سطرًا واحدًا في وقت واحد حتى يكون NULL نهاية الملف بينما ((tempString = reader.ReadLine ())! = null) {listcontent.add (tempString) ؛ Line ++ ؛ } reader.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (reader! = null) {try {reader.close () ؛ } catch (ioException E1) {}}}} return listcontent ؛ } /** * يتم كتابة بيانات الملف (إذا لم تكن المجلدات والملفات موجودة ، فسيتم إنشاؤها أولاً ثم مكتوبًا) * param filepath * param content * param flag true: إذا كان الملف موجودًا ومحتويات ، يتم إضافة المحتوى في سطر جديد ؛ خطأ: إذا كان الملف موجودًا ومحتويات موجود ، يتم استبدال المحتويات*/ السلسلة الثابتة العامة fileLinesWrite (سلسلة FilePath ، محتوى السلسلة ، علامة منطقية) {String FileDo = "Write" ؛ filewriter fw = null ؛ حاول {file file = ملف جديد (FilePath) ؛ // إذا لم يكن المجلد موجودًا ، فقم بإنشاء المجلد if (! file.getParentFile (). } if (! file.exists ()) {// إذا لم يكن الملف موجودًا ، فقم بإنشاء الملف واكتب السطر الأول من content file.createNewFile () ؛ fw = new filewriter (ملف) ؛ filedo = "create" ؛ } آخر {// إذا كان الملف موجودًا أو إلحاقًا أو استبدال المحتوى fw = new filewRiter (ملف ، علامة) ؛ }} catch (ioException e) {E.PrintStackTrace () ؛ } printWriter pw = new printWriter (fw) ؛ pw.println (المحتوى) ؛ pw.flush () ؛ حاول {fw.flush () ؛ pw.close () ؛ fw.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } إرجاع filedo ؛ } / ** * اكتب ملف * param ins * param out * / public static void writeIntoout (inputStream ins ، outputStream Out) {byte [] bb = new byte [10 * 1024] ؛ حاول {int cnt = ins.read (bb) ؛ بينما (cnt> 0) {out.write (bb ، 0 ، cnt) ؛ cnt = ins.read (bb) ؛ }} catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {try {out.flush () ؛ ins.close () ؛ out.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} / ** * حدد ما إذا كانت العناصر الموجودة في القائمة هي نفسها تمامًا (إرجاع صحيح إذا كانت نفس الشيء ، وإلا بإرجاع FALSE) * param list * @RETURN * / private static boolean hassame (قائمة <؟ تمديد الكائن> قائمة) {if (null == list) إرجاع خطأ ؛ إرجاع 1 == new hashset <Object> (list) .size () ؛ } / ** * تحديد ما إذا كانت هناك عناصر مكررة في القائمة (إرجاع صحيح إذا لم يكن هناك مكررات ، وإلا فإنها خاطئة) * param list * @return * / private static boolean hassame2 (قائمة <؟ تمديد الكائن> قائمة) {if (null == list) false ؛ return list.size () == new hashset <Object> (list) .size () ؛ }/** * زيادة/تقليل عدد الأيام * param تاريخ * param num * regurn */dateaddorsub (تاريخ التاريخ ، int num) {calendar startDt = calendar.getInstance () ؛ StartDt.Settime (Date) ؛ StartDt.add (Calendar.day_of_month ، num) ؛ return startdt.getTime () ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.