[英]Writing a byte array to a file and looking at the file in java
我想將byte []數據寫入文件,發現以下代碼:
public static void writeByte(String filename, byte[] data){
BufferedOutputStream bos = null;
try
{
//create an object of FileOutputStream
FileOutputStream fos = new FileOutputStream(new File(filename));
//create an object of BufferedOutputStream
bos = new BufferedOutputStream(fos);
/*
* To write byte array to file use,
* public void write(byte[] b) method of BufferedOutputStream
* class.
*/
System.out.println("Writing byte array to file");
bos.write(data);
System.out.println("File written");
}
catch(Exception fnfe)
{
System.out.println("exception");
}
}
這似乎可行,但是我無法打開文件查看數據...它說“文件類型未知”。 寫入數據是因為文件大小為25.5KB。 我的問題是,如何查看內容? 有必須使用的擴展名嗎? 還是需要特殊的編輯器才能打開它? (嘗試geany和gedit ...)
嘗試flush();
和close();
向其寫入字節后的流。 如果您嘗試編寫一種已知的文件格式,則可能是問題所在:字節的最后一個緩沖區實際上未寫入文件,這導致文件“損壞”。
否則,請使用Richard建議的十六進制編輯器查看文件的原始字節。
您根本不需要在這里BufferedOutputStream
,但是您確實需要關閉正在使用的任何流。
而且,當您發現異常時,不要只是自己編寫郵件。 異常本身包含三個重要的信息:其類,其消息和其堆棧跟蹤。 相比之下,您自己的消息基本上包含一點信息:它發生了。 您應該始終記錄或打印實際的異常類及其消息,並且在調試困難的情況下也應記錄其堆棧跟蹤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.