Artikel ini menjelaskan unggahan file dan unduhan kelas alat yang diimplementasikan oleh Java. Bagikan untuk referensi Anda, sebagai berikut:
Ini adalah kelas alat yang menggunakan bahasa Java untuk mengunggah dan mengunduh file di lingkungan Eclipse. Seperti kelas unggahan dan unduhan file c# yang diperkenalkan sebelumnya, untuk menghindari duplikasi nama file di server, nama file di server digunakan dalam bentuk "waktu server (didefinisikan ke milidonds) + nama file + sufiks file"; Selama proses unduhan, Spring MVC ResponseEntity digunakan untuk unduhan file, yang mengembalikan aliran byte. Setelah unduhan berhasil, jalur penyimpanan file dapat disesuaikan.
Kode sumber spesifik adalah sebagai berikut:
Paket com.utils; impor java.io.file; impor java.io.ioexception; import java.io.inputstream; import java.io.unsupportedencodingException; import java.text.simpledateFormat; org.springframework.http.httpheaders; impor org.springframework.http.httpStatus; org.springframework.http.mediatype; org.springframework.http.responstionity; direktori menurut jalan. Jika tidak ada direktori, buat direktori * * @param path */ private static void createRir (string path) {file fileedir = file baru (path); if (!fileDir.exists() && !fileDir.isDirectory()) {// Determine whether the /download directory has fileDir.mkdir();// Create directory} } /** * Parse the file name into the upload path of the file* * @param fileName * @return File name uploaded to the server*/ public static String transPath(String fileName, String path) { CreateDir (Path); Tanggal Tanggal = Tanggal Baru (); SimpleDateFormat DateFormat = new SimpleDateFormat ("yyyymmddhhmmssssss"); // Tentukan ke milidonds string nowstr = dateFormat.format (date); String filenamestr = filename.substring (0, filename.LastIndexof (".")); // Hapus nama file dari suffix string suffix = filename.substring (fileName.trim ()! = ") {") {" File tidak ada path + = "//" + filenamestr + nowstr + "." + suffix; // Tentukan jalur unggahan} return path; }/ ** * Ingatkan unduhan file * * @param filename * @param path * @return */ responentity statis publik <byte []> downloadfile (string filename, string path) {coba {filename = new string (filename.getbytes ("gb2312"), "name name name {fileN859_1); (UnsupportedEncodingException E1) {E1.PrintStackTrace (); } File file = file baru (path); Header httpheaders = httpheaders baru (); headers.setContentType (mediatype.application_octet_stream); headers.setContentDispositionFormData ("lampiran", nama file); Responentity <byte []> bytearr = null; coba {bytearr = responEntity baru <byte []> (fileutils.readfiletobyteArray (file), header, httpstatus.ok); } catch (ioException e) {e.printstacktrace (); } return bytearr; } / ** * Tulis data dari aliran input ke array byte * * @param di * @return * / public static byte [] inputStream2byTeArray (inputStream in, boolean isClose) {byte [] bytearray = null; coba {int total = in.available (); bytearray = byte baru [total]; in.read (bytearray); } catch (ioException e) {e.printstacktrace (); } akhirnya {if (isClose) {coba {in.close (); } catch (Exception e2) {System.out.println ("Tutup churn gagal"); }}} return bytearray; }}Untuk informasi lebih lanjut tentang algoritma Java, pembaca yang tertarik dengan situs ini dapat melihat topik: "Ringkasan File Java dan Keterampilan Operasi Direktori", "Tutorial tentang Struktur Data Java dan Algoritma", "Ringkasan Keterampilan Operasi Java Dom" dan "Ringkasan Keterampilan Operasi Java Cache"
Saya harap artikel ini akan membantu pemrograman Java semua orang.