Cet article partage le code spécifique de l'outil de lecture et d'écriture de fichiers Java pour votre référence. Le contenu spécifique est le suivant
Importer java.io.BufferedInputStream; Importer java.io.BufferedOutputStream; Importer java.io.buffereDader; import java.io.file; import java.io.fileInputStream; import java.io.fileReader; import java.io.fileRener; java.io.inputStream; import java.io.inputstreamreader; import java.io.outputstream; import java.io.printwriter; import java.net.urlencoder; import java.util.arraylist; import java.util.hashmap; java.util.hashset; importer java.util.list; import javax.servlet.http.httpservletResponse; / ** * <p> File Operation tool class <p> * @version 1.0 * @author li_hao * @date 18 janvier 2017 * / @ supresswarning Obtenez le répertoire racine du projet de Windows / Linux * @return * / public static String getContextPath () {String FileUrl = Thread.currentThread (). GetContextClassLoader (). GetResource (""). GetPath (); if ("usr" .equals (fileUrl.substring (1,4))) {fileUrl = (fileUrl.substring (0, fileUrl.length () - 16)); // linux} else {fileurl = (fileUrl.substring (1, fileurl.length () - 16)); // windows} return fileurl; } / ** * String to Array * @param Str String * @param SplitSTR Delimiter * @return * / public static String [] StringToArray (String str, string splitStr) {String [] arraystr = null; if (! "". égal (str) && str! = null) {if (str.indexof (splitstr)! = - 1) {arraystr = str.split (splitstr); } else {arraystr = new String [1]; Arraystr [0] = str; }} return arraystr; } / ** * Read Fichier * * @param path * @return * / public static String readFile (String Path) {BufferedReader Reader = NULL; String laststr = ""; try {fileInputStream fileInputStream = new FileInputStream (path); InputStreamReader inputStreamReader = new inputStreamReader (fileInputStream, "utf-8"); Reader = new BufferedReader (InputStreamReader); String tempsstring = null; while ((tempsstring = reader.readline ())! = null) {laststr + = tempsstring; } reader.close (); } catch (ioException e) {e.printStackTrace (); } enfin {if (reader! = null) {try {reader.close (); } catch (ioException e) {e.printStackTrace (); }}} return laststr; } / ** * Obtenez les noms de tous les fichiers dans la requête Folder + Fuzzy (lorsqu'il n'y a pas besoin de requête floue, QuerryStr peut être passé vide ou nul) * 1. Lorsque le chemin du chemin n'existe pas, la carte renvoie la valeur Rettype est 1 * 2. La valeur des rettype est de 3, lisme de nom de fichier filenamelist, listname list foldernamelist * @param folderpath path * @param querystr Fuzzy Query String * @return * / public static hashmap <string> object> getFilesName (string folderpath, string querrystr) {hashmap <string, objet> map = new hashmap <); List <string> filenamelist = new ArrayList <> (); // Nom de fichier Liste <string> FolderNameList = new ArrayList <> (); // Nom du dossier Liste du fichier F = nouveau fichier (FolderPath); if (! f.exists ()) {// Le chemin n'existe pas map.put ("rettype", "1"); } else {booléan drapeau = f.isdirectory (); if (flag == false) {// le chemin est un fichier map.put ("rettype", "2"); map.put ("FileName", f.getName ()); } else {// Le chemin est le dossier map.put ("rettype", "3"); File fa [] = f.listFiles (); QueryStr = queyrystr == null? "": queryStr; // Si queryStr est transmis à null, remplacez-le par vide (la valeur de correspondance index ne peut pas être nul) pour (int i = 0; i <fa.length; i ++) {file fs = fa [i]; if (fs.getName (). indexof (queryStr)! = - 1) {if (fs.isDirectory ()) {FolderNameList.add (fs.getName ()); } else {filenamelist.add (fs.getName ()); }}} map.put ("filenamelist", filenamelist); map.put ("Foldernamelist", Foldernamelist); }} retour de retour; } / ** * Lisez le fichier en unités de comportement et lisez sur la dernière ligne * @param filepath * @return * / public static list <string> readFileContent (String filepath) {buffereDader Reader = null; List <string> listContent = new ArrayList <> (); try {Reader = new BufferedReader (nouveau FileReader (filepath)); String tempsstring = null; INT LINE = 1; // Lire une ligne à la fois jusqu'à ce que null soit la fin du fichier while ((tempsstring = reader.readline ())! = Null) {listContent.add (tempsstring); line ++; } reader.close (); } catch (ioException e) {e.printStackTrace (); } enfin {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}}} return listContent; } / ** * Lire les données de ligne spécifiées, Remarque: 0 est la ligne de démarrage * @param filepath * @param lineNumber * @return * / public static string readlineContent (String filepath, int lineNumber) {buffereDader reader = null; String lineContent = ""; try {Reader = new BufferedReader (nouveau FileReader (filepath)); int line = 0; while (line <= lineNumber) {lineContent = reader.readline (); line ++; } reader.close (); } catch (ioException e) {e.printStackTrace (); } enfin {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}} return lineContent; } / ** * Lire les données de Beginline à Tenline (y compris Beginline et Flow), Remarque: 0 est la ligne de démarrage * @param filepath * @param beginlineNumber start line * @param endlineNumber End Line * @return * / public static list <string> readLinesContent (string filepath, intgaylist, (int endlineNumber) {list> list> list> listmot); essayez {int count = 0; BufferedReader Reader = new BufferedReader (nouveau FileReader (FilePath)); String Content = Reader.Readline (); while (contenu! = null) {if (count> = beginlineNumber && count <= endlineNumber) {listContent.add (contenu); } contenu = reader.readline (); Count ++; }} catch (exception e) {} return listContent; } / ** * Lisez toutes les données dans plusieurs fichiers * @param listfilepath * @return * / public static list <string> readFileContent_list (list <string> listFilePath) {list <string> listContent = new ArrayList <> (); for (String filepath: listFilePath) {file file = new File (filepath); BufferedReader Reader = NULL; try {Reader = new BufferedReader (new FileReader (fichier)); String tempsstring = null; INT LINE = 1; // Lire une ligne à la fois jusqu'à ce que null soit la fin du fichier while ((tempsstring = reader.readline ())! = Null) {listContent.add (tempsstring); line ++; } reader.close (); } catch (ioException e) {e.printStackTrace (); } enfin {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}}}} return listContent; } / ** * Les données de fichiers sont écrites (si les dossiers et les fichiers n'existent pas, ils sont créés d'abord puis écrits) * @param filepath * @param contenu * @param Flag True: si le fichier existe et que le contenu existe, le contenu est ajouté dans une nouvelle ligne; FAUX: Si le fichier existe et que le contenu existe, le contenu est remplacé * / public static String FilelinesWrite (String filepath, String Content, booléan Flag) {String filedo = "write"; Filewriter fw = null; try {file file = new File (filepath); // Si le dossier n'existe pas, créez le dossier if (! File.getParentFile (). Existant ()) {file.getParentFile (). MkDirs (); } if (! file.exists ()) {// Si le fichier n'existe pas, créez le fichier et écrivez la première ligne de contenu file.createenewfile (); fw = new FileWriter (fichier); filedo = "Create"; } else {// Si le fichier existe, ajoutez ou remplacez le contenu fw = new FileWriter (fichier, drapeau); }} catch (ioException e) {e.printStackTrace (); } Printwriter pw = new printwriter (fw); pw.println (contenu); pw.flush (); essayez {fw.flush (); pw.close (); fw.close (); } catch (ioException e) {e.printStackTrace (); } return filedo; } / ** * Écriture de fichier * @param ins * @param out * / public static void writeIntoout (inputStream ins, outputStream out) {byte [] bb = new byte [10 * 1024]; essayez {int cnt = ins.read (bb); while (cnt> 0) {out.write (bb, 0, cnt); cnt = ins.read (bb); }} catch (ioException e) {e.printStackTrace (); } enfin {try {out.flush (); ins.close (); out.close (); } catch (ioException e) {e.printStackTrace (); }}} / ** * Déterminez si les éléments de la liste sont exactement les mêmes (return true si exactement le même, sinon return false) * @param list * @return * / private static booléan hassame (list <? Étend objet> list) {if (null == list) return false; return 1 == new hashset <objet> (list) .size (); } / ** * Déterminez s'il y a des éléments en double dans la liste (renvoyez true si pas de double, sinon renvoie false) * @param liste * @return * / private static booléen hassame2 (list <? Étend objet> list) {if (null == list) return false; return list.size () == new hashset <objet> (list) .size (); } / ** * augmenter / diminuer le nombre de jours * @param Date * @param num * @return * / public static date dataEaddorsub (date de date, int num) {calendar startdt = calendar.getInSitance (); startdt.setTime (date); startdt.add (calendar.day_of_month, num); return startdt.gettime (); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.