Dieser Artikel teilt den spezifischen Code des Lesens und des Schreibens von Java -Dateien für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Import Java.io.BufferedInputStream; Import Java.io.BufferedOutputStream; Import Java.io.BuffenedReader; Import Java.io.file; Import Java.io.fileInputStream; importieren Java.io.Filereader; 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.Calendar; java.util.HashSet;import java.util.List;import javax.servlet.http.HttpServletResponse;/** * <p>File operation tool class<p> * @version 1.0 * @author li_hao * @date January 18, 2017 */@SuppressWarnings({"resource","unused"})public class FileUtils { /** * Holen Sie sich das Projekt Root -Verzeichnis von Windows/ Linux * @return */ public static String getContextPath () {String fileurl = Thread.currentThread (). if ("usr" .equals (FileUrl.substring (1,4)) {FileUrl = (FileUrl.substring (0, FileUrl.Length ()-16)); // linux} else {FileUrl = (FileUrl.Substring (1, Fileurl.Length ()-16); } / *** String to Array* @param String String* @param splitstr Declimiter* @return* / public static String [] StringToArray (String Str, String splitstr) {String [] ArrayStr = null; if (! ". } else {arrayStr = new String [1]; ArrayStr [0] = str; }} return ArrayStr zurück; } / ** * Datei lesen * * @param path * @return * / public static String ReadFile (String -Pfad) {bufferedReader reader = null; String laststr = ""; try {FileInputStream FileInputStream = new FileInputStream (Pfad); InputStreamReader InputStreamReader = new InputStreamReader (FileInputStream, "UTF-8"); Reader = neuer BufferedReader (InputStreamReader); String tempstring = null; while ((tempstring = reader.readline ())! = null) {laststr += tempstring; } reader.close (); } catch (ioException e) {e.printstacktrace (); } endlich {if (reader! = null) {try {reader.close (); } catch (ioException e) {e.printstacktrace (); }}} return laststr; } /** * Erhalten Sie die Namen aller Dateien in der Ordner + Fuzzy -Abfrage (wenn keine Fuzzy -Abfrage erforderlich ist, kann QueryStr leer übergeben werden oder null) Gibt den RETTYPE -Wert zurück, ist 3, FileName -Liste Filenamelist, Ordnerlistenlistenlisten -FoldeAmelist * @param OrdnerPath Path * @param querystr fuzzy query String * @return */ public static hashmap <String, Objekt> GetFilesname (String -Ordnerpath, String -QueryStr); List <String> filenamelist = new ArrayList <> (); // Dateiname Listliste <string> ordnernamelist = new ArrayList <> (); // Ordner Name List -Datei f = Neue Datei (OrdnerPath); if (! } else {boolean flag = f.isdirectory (); if (flag == false) {// Der Pfad ist Datei map.put ("retype", "2"); map.put ("Dateiname", f.getName ()); } else {// Der Pfad ist Ordner map.put ("rettype", "3"); Datei fa [] = f.Listfiles (); queryStr = queryStr == null? "": querystr; // Wenn querystr an null übergeben wird, ersetzen Sie ihn durch leer (Indexof -Matching -Wert kann nicht null sein) für (int i = 0; i <fa.Length; i ++) {Datei fs = fa [i]; if (fs.getName (). indexof (queryStr)! } else {filenamelist.add (fs.getName ()); }}} map.put ("Filenamelist", Filenamelist); map.put ("Foldernamelist", Falteramelist); }} return map; } / ** * Lesen Sie die Datei in Verhaltenseinheiten und lesen Sie die letzte Zeile * @param filepath * @return * / public staticlist <string> ReadFileContent (String filepath) {bufferedReader reader = null; List <String> listContent = new ArrayList <> (); try {reader = new bufferedReader (neuer fileReader (filepath)); String tempstring = null; int line = 1; // Lesen Sie jeweils eine Zeile, bis Null das Ende der Datei ist ((tempstring = reader.readline ())! = Null) {listContent.add (tempstring); Linie ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } endlich {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}}} return listContent; } / ** * Lesen Sie die angegebenen Zeilendaten, Hinweis: 0 ist die Startlinie * @param filepath * @param linenumber * @return * / public static String readLineContent (String filepath, int linenumber) {bufferedReader reader = null; String linecontent = ""; try {reader = new bufferedReader (neuer fileReader (filepath)); int line = 0; while (Zeile <= linenumber) {linecontent = reader.readline (); Linie ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } endlich {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}} return linecontent; } /** * Read data from beginLine to endLine (including beginLine and endLine), note: 0 is the start line* @param filePath * @param beginLineNumber Start line* @param endLineNumber End line* @return */ public static List<String> readLinesContent(String filePath,int beginLineNumber,int endLineNumber){ List<String> listContent = new ArrayList<>(); Versuchen Sie {int count = 0; BufferedReader reader = neuer bufferedReader (neuer fileReader (filepath)); String content = reader.readline (); while (content! } content = reader.readline (); zählen ++; }} catch (Ausnahme e) {} return listContent; } / ** * Alle Daten in mehreren Dateien lesen * @param listFilePath * @return * / public static list <string> readFileContent_List (List <string> listFilePath) {list <string> listContent = new ArrayList <> (); für (String filepath: listFilePath) {Datei Datei = new Datei (filepath); BufferedReader reader = null; try {reader = new bufferedReader (New FileReader (Datei)); String tempstring = null; int line = 1; // Lesen Sie jeweils eine Zeile, bis Null das Ende der Datei ist ((tempstring = reader.readline ())! = Null) {listContent.add (tempstring); Linie ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } endlich {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}}}} return listContent; } /** * Dateidaten werden geschrieben (wenn keine Ordner und Dateien vorhanden sind, werden zuerst erstellt und dann geschrieben) * @param filepath * @param content * @param aga true: Wenn die Datei existiert und Inhalte existieren, wird der Inhalt in einer neuen Zeile hinzugefügt. Falsch: Wenn die Datei vorhanden ist und der Inhalt existiert, werden der Inhalt ersetzt*/ public static String filelineSwrite (String -Filepath, String -Inhalt, boolescher Flag) {String agredo = "Write"; Fileschreiber fw = null; try {Datei file = new Datei (filepath); // Wenn der Ordner nicht vorhanden ist, erstellen Sie den Ordner if (! File.getParentFile (). Exist ()) {file.getParentFile (). Mkdirs (); } if (! file.exists ()) {// Wenn die Datei nicht vorhanden ist, erstellen Sie die Datei und schreiben Sie die erste Zeile der Inhaltsdatei.createNewFile (); fw = neuer FileWriter (Datei); fehledo = "erstellen"; } else {// Wenn die Datei vorhanden ist, fügen Sie den Inhalt fw = neuer FileWriter (Datei, Flag) an oder ersetzen Sie sie; }} catch (ioException e) {e.printstacktrace (); } Printwriter pw = neuer printwriter (fw); pw.println (Inhalt); pw.flush (); try {fw.flush (); pw.close (); fw.close (); } catch (ioException e) {e.printstacktrace (); } return agelledo; } / ** * Datei schreiben * @param Ins * @param out * / public static void writeIntoout (InputStream INS, OutputStream Out) {byte [] bb = new byte [10 * 1024]; try {int cnt = Ins.read (BB); while (cnt> 0) {out.write (bb, 0, cnt); cnt = Ins.read (BB); }} catch (ioException e) {e.printstacktrace (); } endlich {try {out.flush (); Ins.CLOSE (); out.close (); } catch (ioException e) {e.printstacktrace (); }}} / ** * Bestimmen Sie, ob die Elemente in der Liste genau gleich sind (zurückgeben, wenn genau gleich, ansonsten false zurückgeben) * @paramliste * @return * / private statische boolean Hasame (Liste <? Extends Object> List) {if (null == liste) return false; return 1 == New Hashset <Object> (Liste) .SIZE (); } / ** * Bestimmen Sie, ob in der Liste doppelte Elemente vorhanden sind (zurückgeben, wenn kein Duplikat, ansonsten false zurückgeben) * @paramliste * @return * / private statische boolean Hasame2 (Liste <? Erweitert Objekt> Liste> Liste) {if (null == list) return false; return list.size () == New HashSet <Object> (Liste) .Size (); }/** * Erhöhen/verringern Sie die Anzahl der Tage * @param Datum * @param num * @return */public static dataDdorsub (Datum, int num) {Calendar startdt = calendar.getInstance (); startdt.settime (Datum); startdt.add (Calendar.day_of_month, num); return startdt.getTime (); }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.