ฉันจะสร้างFile
(จากjava.io
) ใหม่ในหน่วยความจำไม่ใช่ในฮาร์ดดิสก์ได้อย่างไร
ฉันใช้ภาษา Java ฉันไม่ต้องการบันทึกไฟล์ในฮาร์ดไดรฟ์
ฉันเจอกับ API ที่ไม่ดี ( java.util.jar.JarFile
) มันคาดหวังของFile file
String filename
ฉันไม่มีไฟล์ (เฉพาะbyte[]
เนื้อหา) และสามารถสร้างไฟล์ชั่วคราวได้ แต่มันไม่ใช่วิธีแก้ปัญหาที่สวยงาม ฉันต้องการตรวจสอบความถูกต้องของโถที่เซ็นชื่อ
byte[] content = getContent();
File tempFile = File.createTempFile("tmp", ".tmp");
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(archiveContent);
JarFile jarFile = new JarFile(tempFile);
Manifest manifest = jarFile.getManifest();
ขอขอบคุณตัวอย่างวิธีการบรรลุการรับไฟล์ Manifest โดยไม่ต้องสร้างไฟล์ชั่วคราว