㈠ 用java,刪除文件中前100個位元組的內容
import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class CutFile {
public static void main(String[] args) {
try {
RandomAccessFile raFile = new RandomAccessFile("test.txt", "rw");
raFile.seek(100); // 利用RandomAccessFile定位到第101個位元組,之後再讀文件
List<byte[]> list = new ArrayList<byte[]>();
byte[] b = new byte[1024];
while (-1 != raFile.read(b)) {
list.add(b); // 將所讀取出來的內容以byte數組為單位存放到一個ArrayList當中
}
FileOutputStream outFile = new FileOutputStream("test.txt");
for (Iterator<byte[]> i = list.iterator(); i.hasNext();) {
outFile.write(i.next()); // 將ArrayList里的內容重新寫回之前的文件
}
raFile.close();
outFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
㈡ java中byte[]是怎麼意思
byte即位元組的意思,是java中的基本類型,用心申明位元組型的變數。
通常在讀取非文本文件時(如圖片,聲音,可執行文件)需要用位元組數組來保存文件的內容。
在下載文件時,也是用byte數組作臨時的緩沖器接收文件內容。所以說byte在文件操作時是必不可少的。不管是對文件寫入還是讀取都要用到。
(2)javabyte清空擴展閱讀:
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
Java語言是一門隨時代快速發展的計算機語言程序,其深刻展示了程序編寫的精髓,加上其簡明嚴謹的結構及簡潔的語法編寫為其將來的發展及維護提供了保障。
由於提供了網路應用的支持和多媒體的存取,會推動Internet和企業網路的Web的應用。
㈢ 如何刪除byte數組里的某個元素
利用雙重循環,將每個值依次與其後面的值相比較,如果有相同的則刪除該元素即可。
刪除時,可以使用將後面元素依次向前移動一位,同時總長度減一的方式。
參考代碼如下:
int remove_repeat(int *a, int l)
{
int i, j, k;
for(i = 0; i < l; i ++)
{
for(j = i+1; j <l; j ++)//對後面每個元素比較,去重。
{
if(a[j] == a[i])//發現重復元素。
{
for(k = j+1; k<l; k ++)//依次前移一位。
a[k-1] = a[k];
l--;//總長度減一。
}
}
}
return l;//返回新的長度值。
}
㈣ java裡面怎麼設置byte數組為空
兩個概念
byte[]
a
=
null;
表示數組為空,這個時候使用a時,會報空值異常,如a.length
byte[]
b
=
new
byte[0];
表示數據部位空,只是數組長度為0,
這個時候a.length等於0
如果想把數組改為空(null)
byte[]
b
=
new
byte[2];
b
=
null;
---
這樣既可,但是再次使用時要注意空值異常
㈤ JAVA中byte類型的介紹。 謝謝
1、在Java中,byte類型的數據是8位帶符號的二進制數。最高位表示正負,0為正,1為負。
2、java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。
3、正數的最高位都是 0 ,正數的值就是二進製表示的值。
4、負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到的值。
(5)javabyte清空擴展閱讀
1、java基本數據類型
JAVA中一共有八種基本數據類型,分別是byte、short、int、long、float、double、char、boolean。
2、java各數據類型取值范圍
byte,整型,1個位元組,范圍:-2的7次方 ~ 2的7次方-1;
short,整型,2個位元組,范圍:-2的15次方 ~ 2的15次方-1;
int,整型,4個位元組,范圍:-2的31次方 ~ 2的31次方-1;
long,整型,8個位元組,范圍:-2的63次方 ~ 2的63次方-1;
float,浮點型,4個位元組,范圍:3.402823e+38 ~ 1.401298e-45;
double,浮點型,8個位元組,范圍:1.797693e+308~ 4.9000000e-324;
char,文本型,2個位元組,范圍:0~2的16次方-1;
boolean,布爾型,1個位元組,范圍:true/false;
參考資料
網路-java字元型
㈥ java 如何將byte[]清零
java.util.Arrays.fill(bytes, (byte) 0).
㈦ java中byte的問題
0xFF == 二進制的:1111 1111
& 是按位與運算,任何一個byte & 0xFF都得原有的數,它主要應用於int等,可以參照這個:http://..com/question/2055765535243071187
所以你上面的例子中的兩個&0xFF是廢代碼
第一個函數原本的意思應該為了截取最後一個位元組。但是因為傳遞的不是int而是byte導致變得是byte強制類型轉換為int,是個失敗的設計,因為只要強制轉換為byte就能達到相同效果了。多此一舉
第二個函數是為了取得一個數對應的十六進制字元串,不過也跟上面的一樣,因為傳遞的是byte,導致整個設計也是失敗的。
㈧ java中如何重新構造一個類不會清空類裡面的變數值
你是想將a中的屬性值全復制到b中,並且b和a是同一個類,但是兩個相互獨立的對象,對嗎?
如果是,上面同學的回答是錯的, 因為 b=a後實例上是 b 引用 a, 當b被修改後 a中的值也會被修改.
正確的方法是使用clone()
關於對象克隆,你需要再專門了解一下克隆的方法
提示一下clone是Object基類就有的方法,所以你有必要復習一下面向對象基礎。
除了克隆,你還可以採用序列化/反序列化的方法,先將對象序列成byte[]再將byte[]反轉在對象。這些是土辦法。但是很常見的,想想看吧, 一個User對象從服務端傳到客戶端,當然是先變成了byte[]流,再由客戶端反序列化的,對吧?
我不寫代碼了。希望你自己探索一下。 :)
再補充一個知識,類反射不僅可以處理類名,還可以處理任何包括屬性,方法。想想計算機病毒的能力你就可以知道類反射的能力,你可以專門搜索一下反射的知識。
㈨ java中如何去掉byte數組中的空值
byte類型的數組不存在空值的,在數組初始化的時候所有元素都會默認被賦值0
㈩ Java read(byte[]b) 怎樣解決...
可以加個判斷語句,當讀到-1時 跳出就可以了