FileWriter只能接受字串形式的參數,也就是說只能把內容存到文字檔。相對於文字文件,採用二進位格式的文件儲存更省空間。
InputStream用於以位元組從輸入流讀取資料。其中的int read()方法讀取一個字節,這個位元組以整數形式傳回0到255之間的一個值。為什麼讀一個字節,而不直接回傳一個byte類型的值? (建議:java影片教學)
因為byte類型最高位是符號位,它所能表示的最大的正整數是127。
InputStream只是一個抽象類,不能實例化。 FilelnputStream是InputStream的子類,用於從檔案中以位元組讀取。
FileInputStream流稱為檔案位元組輸入流,意思是指對檔案資料以位元組的形式進行讀取操作如讀取圖片視訊等
public static void main(String[] args) throws IOException { String filePath = "d:/test.txt"; File file = new File (filePath); //根据文件路径创建一个文件对象 //如果找不到文件,会抛出FileNotFoundException异常 FilelnputStream filelnput = new FilelnputStream(file); } filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常
OutputStream中的write(int b)方法用於依位元組寫出資料。 FileOutputStream用來以位元組把資料寫到檔案。例如,按位元組把內容從一個文件讀出來,並寫入另一個新文件,也就是文件複製功能。
File fileln = new File ("source. txt"); //打开源文件 File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件 FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流 FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流 int c; //从源文件中按字节读入数据,如果内容还没读完,则继续 while ((c = streamln.read()) != -1) { streamOut .write (c); //写入目标文件 } streamln.close。; //关闭输入流 streamOut.close(); //关闭输出流
判斷檔案是否已經存在,如果不存在則產生這個檔案。
File dataFile = new File(dicDir + dataDic); if (!dataFile.exists()) { //如果文件不存在则写入文件 }
用File.mkdirs()方法可以建立多層目錄。例如,當一個目錄不存在時,就建立它。
File tempDir = new File(imgPath); if(!tempDir.exists()){ tempDir.mkdirs(); }
更多java知識請關注java基礎教學欄位。
以上是java的二進位檔案怎麼打開的詳細內容。更多資訊請關注PHP中文網其他相關文章!