Artikel ini membagikan kode spesifik alat membaca dan menulis file Java untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Impor java.io.bufferedInputStream; import java.io.bufferedoutputstream; impor java.io.bufferedreader; impor java.io.file; impor java.io.fileinputStream; impor java.filereader; impor java.io.fileaderer; java.io.ioException; import java.io.inputstream; impor java.io.inputStreamreader; impor java.io.outputstream; impor java.io.printwriter; impor java.net.urlencoder; impor java.util.arraylist; impor java.dencoder; impor java.util.arraylist; impor java. java.util.hashmap; import java.util.hashset; import java.util.list; import javax.servlet.http.httpservletResponse;/** * <p> Kelas Operasi File <p> * @version 1.0 * @author li_hao * @date 18, 2017 Januari 18, 2017 Januari 18, 2017 */ @SuppressWarnings ({"Resource", "tidak digunakan"}) CLASS PUBLIK FILEUTILS {/** * Dapatkan direktori root proyek 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));//windows; } / *** String ke array* @param str string* @param splitstr delimiter* @return* / public static string [] stringoarray (string str, string splitstr) {string [] arraystr = null; if (! "". Equals (str) && str! = null) {if (str.indexof (splitStr)! =-1) {arraystr = str.split (splitstr); } else {arraystr = string baru [1]; arraytr [0] = str; }} return arraystr; } / ** * Baca file * * @param path * @return * / public static string readFile (string path) {buferedReader reader = null; String laststr = ""; coba {fileInputStream fileInputStream = new fileInputStream (path); InputStreamReader inputStreamReader = new InputStreamReader (FileInputStream, "UTF-8"); pembaca = BufferedReader baru (InputStreamReader); String tempsstring = null; while ((Tempsstring = reader.readline ())! = null) {laststr += tempsstring; } reader.close (); } catch (ioException e) {e.printstacktrace (); } akhirnya {if (reader! = null) {coba {reader.close (); } catch (ioException e) {e.printstacktrace (); }}} return laststr; } /** * Dapatkan nama -nama semua file di folder + kueri fuzzy (ketika tidak ada kebutuhan untuk kueri fuzzy, kueri dapat ditularkan kosong atau nol) * 1. Ketika jalur tidak ada, peta mengembalikan nilai rettype adalah 1 * 2. Ketika jalur adalah jalur file, peta kembali. retType value is 3, filename list fileNameList, foldername list folderNameList * @param folderPath Path * @param queryStr fuzzy query string * @return */ public static HashMap<String, Object> getFilesName(String folderPath , String queryStr) { HashMap<String, Object> map = new HashMap<>(); Daftar <String> filenameList = ArrayList baru <> (); // Daftar Nama File <string> folderNameList = ArrayList baru <> (); // Daftar Nama Folder File f = File baru (FolderPath); if (! f.exists ()) {// jalur tidak ada peta.put ("rettype", "1"); } else {boolean flag = f.isdirectory (); if (flag == false) {// path adalah file map.put ("rettype", "2"); peta.put ("nama file", f.getName ()); } else {// jalurnya adalah folder map.put ("rettype", "3"); File fa [] = f.listFiles (); querystr = querystr == null? "": querystr; // Jika querystr diteruskan ke null, ganti dengan kosong (indeks nilai pencocokan tidak bisa nol) untuk (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 ()); }}} peta.put ("filenamelist", filenamelist); Map.put ("Foldernamelist", Foldernamelist); }} return peta; } / ** * Baca file dalam satuan perilaku dan baca ke baris terakhir * @param filepath * @return * / Daftar statis publik <string> readFileContent (String FilePath) {BufferedReader Reader = null; Daftar <String> listContent = new ArrayList <> (); coba {pembaca = BufferedReader baru (filereader baru (filepath)); String tempsstring = null; Int line = 1; // Baca satu baris pada satu waktu sampai null adalah akhir dari file saat ((tempsstring = reader.readline ())! = Null) {listContent.add (tempsstring); garis ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } akhirnya {if (reader! = null) {coba {reader.close (); } catch (ioException e1) {}}} return listContent; } / ** * Baca data baris yang ditentukan, CATATAN: 0 adalah baris start * @param filepath * @param linenumber * @return * / public static string readlinecontent (string filepath, int linenumber) {bufferedReader reader = null; String linecontent = ""; coba {pembaca = BufferedReader baru (filereader baru (filepath)); Int line = 0; while (line <= linenumber) {linecontent = reader.readline (); garis ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } akhirnya {if (reader! = null) {coba {reader.close (); } catch (ioException e1) {}} return linecontent; } / *** Baca data dari awal ke endline (termasuk awal dan endline), Catatan: 0 adalah baris start* @param filepath* @param startLinEnmer Baris start* @param endlinenumber baris akhir* @return* / daftar statis public <string> readlinescontent (string filePath, int startLinenumber, int endlinNeNeNeNeMer / endlinen (string = {string lister> list / listing, Int startLinenumber, int endlinen (string> {lister = string list, Int startLinenumber, int endlinen) {daftar) {string lister> list / endlinen new liste / int string {string list, intlinEnnenumber, int endlinEnnen new liste (string {string = endLinEnneNMer (string {string { coba {int count = 0; BufferedReader Reader = BufferedReader baru (filereader baru (filepath)); String content = reader.readline (); while (content! = null) {if (count> = beginLinEnumber && count <= endlineNumber) {listContent.add (konten); } content = reader.readline (); Count ++; }} catch (Exception e) {} return listContent; } / ** * Baca semua data di beberapa file * @param listFilePath * @return * / Daftar statis public <string> readFileContent_List (Daftar <String> ListFilePath) {List <String> listContent = ArrayList baru <> (); untuk (string filepath: listFilePath) {file file = file baru (filepath); BufferedReader Reader = null; coba {reader = new bufferedReader (filereader baru (file)); String tempsstring = null; Int line = 1; // Baca satu baris pada satu waktu sampai null adalah akhir dari file saat ((tempsstring = reader.readline ())! = Null) {listContent.add (tempsstring); garis ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } akhirnya {if (reader! = null) {coba {reader.close (); } catch (ioException e1) {}}}} return listContent; } /** * Data file ditulis (jika folder dan file tidak ada, mereka dibuat terlebih dahulu dan kemudian ditulis) * @param filepath * @param konten * @param flag true: jika file ada dan konten ada, konten ditambahkan dalam baris baru; Salah: Jika ada file dan konten, konten diganti*/ public static string FileLinesWrite (string filepath, konten string, bendera boolean) {string filedo = "write"; FileWriter fw = null; coba {file file = file baru (filepath); // Jika folder tidak ada, buat folder if (! File.getParentFile (). Exists ()) {file.getParentFile (). Mkdirs (); } if (! File.exists ()) {// Jika file tidak ada, buat file dan tulis baris pertama dari file konten.createNewFile (); FW = FileWriter baru (file); Filedo = "create"; } else {// Jika file ada, tambahkan atau ganti konten fw = fileWriter baru (file, flag); }} catch (ioException e) {E.PrintStackTrace (); } Printwriter pw = printwriter baru (fw); pw.println (konten); pw.flush (); coba {fw.flush (); pw.close (); fw.close (); } catch (ioException e) {e.printstacktrace (); } return file; } / ** * Tulis file * @param ins * @param out * / public static void writeintoout (inputStream INS, outputStream out) {byte [] bb = byte baru [10 * 1024]; coba {int cnt = ins.read (bb); while (cnt> 0) {out.write (bb, 0, cnt); cnt = ins.read (bb); }} catch (ioException e) {E.PrintStackTrace (); } akhirnya {coba {out.flush (); INS.CLOSE (); out.close (); } catch (ioException e) {e.printstacktrace (); }}} / ** * Tentukan apakah elemen dalam daftar persis sama (return true jika persis sama, jika tidak, kembalikan false) * @param list * @return * / private static boolean hassame (daftar <? Extends Object> List) {if (null == Daftar) Return false; return 1 == hashset baru <apbes> (daftar) .size (); } / ** * Tentukan apakah ada elemen duplikat dalam daftar (kembalikan true jika tidak ada duplikat, jika tidak mengembalikan false) * @param List * @return * / private static boolean hassame2 (daftar <? Extends Object> List) {if (null == Daftar) Return false; return list.size () == baru hashset <boject> (list) .size (); }/** * Tingkatkan/kurangi jumlah hari * @param tanggal * @param num * @return */public static Date dateaddorsub (tanggal tanggal, int num) {calendar startdt = calendar.getInstance (); startdt.settime (tanggal); startdt.add (calendar.day_of_month, num); return startdt.getTime (); }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.