㈠ 用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时 跳出就可以了