读取 Java 文件到 byte 数组的三种方法 (总结)
แพ็คเกจ zs; นำเข้า java.io.bufferedInputStream; นำเข้า java.io.ByTearrayOutputStream นำเข้า Java.io.file; นำเข้า java.io.fileinputstream นำเข้า java.io.filenotfoundException; นำเข้า Java.io.ioException; java.nio.mappedbytebuffer; นำเข้า java.nio.channels.filechannel; นำเข้า java.nio.channels.filechannel.mapmode; คลาสสาธารณะ Fileutils {public byte [] getContent (String filepath) Integer.max_value) {system.out.println ("ไฟล์ใหญ่เกินไป ... "); return null;} fileinputstream fi = ใหม่ fileinputstream (ไฟล์); byte [] buffer = byte new (int) filesize = 0; int numread = 0; ออฟเซ็ต))> = 0) {ออฟเซ็ต + = numread;} // 确保所有数据均被读取ถ้า (ออฟเซ็ต! = buffer.length) {โยน iOexception ใหม่ ("ไม่สามารถอ่านไฟล์" + file.getName ());} fi.close (); return buffer;}/** * TobyTearray (ชื่อไฟล์สตริง) พ่น IOException {ไฟล์ f = ไฟล์ใหม่ (ชื่อไฟล์); ถ้า (! f.exists ()) {โยน filenotfoundexception ใหม่ (ชื่อไฟล์);} bytearrayputTream bos = new bytearraytream (int) f.length (int) f.length (int) FileInputStream (f)); int buf_size = 1024; byte [] buffer = byte ใหม่ [buf_size]; int len = 0; ในขณะที่ (-1! = (len = in.read (บัฟเฟอร์, 0, buf_size)) {bos.write {e.printstacktrace (); โยน e;} ในที่สุด {ลอง {in.close ();} catch (ioexception e) {e.printstacktrace ();} bos.close ();}}/** * nio * * * * * * * * * * * * * * * * * * * * * * * * * ioException {ไฟล์ f = ไฟล์ใหม่ (ชื่อไฟล์); ถ้า (! f.exists ()) {โยน filenotfoundexception ใหม่ (ชื่อไฟล์);} fileChannel channel = null; fileInputStream fs = null; ลอง {fs = new fileInputStream (f) channel.size ()); ในขณะที่ (channel.read (bytebuffer))> 0) {// ไม่ทำอะไรเลย // system.out.println ("การอ่าน");} กลับ bytebuffer.array ();} catch (ioexception e) {e.printstacktrace () {E.PrintStackTrace ();} ลอง {fs.close ();} catch (ioexception e) {e.printstacktrace ();}}}/** * ไฟล์ที่แมป mappedbytebuffer 可以在处理大文件时,, 提升性能 * * @param filename โยน ioexception {filechannel fc = null; ลอง {fc = new randomaccessFile (ชื่อไฟล์, "r"). getChannel (); mappedByTebuffer byteBuffer = fc.map (mapmode.read_only, 0, fc.size () Byte [(int) fc.size ()]; ถ้า (bytebuffer.remaining ()> 0) {// system.out.println ("ยังคงอยู่"); bytebuffer.get (ผลลัพธ์, 0, bytebuffer.remaining (); {fc.close ();} catch (ioexception e) {e.printstacktrace ();}}}}}以上这篇读取 Java 文件到 byte 数组的三种方法 (总结) 就是小编分享给大家的全部内容了, 希望能给大家一个参考, 也希望大家多多支持武林网。也希望大家多多支持武林网。