首頁  >  文章  >  Java  >  java怎麼開啟二進位文件

java怎麼開啟二進位文件

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-11-14 10:22:292748瀏覽

java怎麼開啟二進位文件

Java讀取二進位文件,以位元組為單位進行讀取,還可讀取圖片、音樂檔案、影片檔案等。在Java中,提供了四種類來對檔案進行操作,分別是InputStream、OutputStream、Reader、Writer,前兩種是對位元組流的操作,後兩種則是對字元流的操作。

FileWriter只能接受字串形式的參數,也就是說只能把內容存到文字檔。相對於文字文件,採用二進位格式的文件儲存更省空間。

InputStream用於以位元組從輸入流讀取資料。其中的int read()方法讀取一個字節,這個位元組以整數形式傳回0到255之間的一個值。為什麼讀一個字節,而不直接回傳一個byte類型的值?

因為byte型別最高位是符號位,它所能表示的最大的正整數是127。

InputStream只是一個抽象類,不能實例化。 FilelnputStream是InputStream的子類,用於從檔案中以位元組讀取。

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訓練影片,盡在PHP中文網,歡迎線上學習!

以上是java怎麼開啟二進位文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn