导航:首页 > 文件处理 > javabyte数组压缩

javabyte数组压缩

发布时间:2022-08-16 19:09:50

java中创建byte数组如下 byte a[]=new byte[1024]; 问: new后面

new其实就是创建一个新的熟悉,在内存中开辟一个空间。

new 就是创建一个对象的意思。
这里new就是创建一个byte数组,
byte[1024]是数组长度为1024

❷ java中如何把一个文件转化为byte数组

java将文件转换为byte数组,主要是使用输出流,实例如下:

/**
*根据byte数组,生成文件
*/
publicstaticvoidgetFile(byte[]bfile,StringfilePath,StringfileName){
BufferedOutputStreambos=null;//新建一个输出流
FileOutputStreamfos=null;//w文件包装输出流
Filefile=null;
try{
Filedir=newFile(filePath);
if(!dir.exists()&&dir.isDirectory()){//判断文件目录是否存在
dir.mkdirs();
}
file=newFile(filePath+"\"+fileName);//新建一个file类
fos=newFileOutputStream(file);
bos=newBufferedOutputStream(fos);//输出的byte文件
bos.write(bfile);
}catch(Exceptione){
e.printStackTrace();
}finally{
if(bos!=null){
try{
bos.close();//关闭资源
}catch(IOExceptione1){
e1.printStackTrace();
}
}
if(fos!=null){
try{
fos.close();//关闭资源
}catch(IOExceptione1){
e1.printStackTrace();
}
}
}
}

❸ java 中byte数组存的是什么类型的数据,byte数组有什么用

java中数组本身可以划分为一个类型.这个类型就是存放各种类型的对象或者值.
至于你的问题,则可以回答为存放byte的数组应该是数组类型.或者说数组的泛型是byte.
具体作用,泛泛的说,应该是存储数据.至于存储后干什么.那就看具体需求了.比如用于显示,用于逻辑判断......等等.

❹ java ByteArrayOutputStream从压缩文件中读取到字节数组,转换成字符串后再转换成数组发现数据不一样了

您好, 提问者:
ISO8859-1是占1个字节。
而UTF-8的汉字是占三个字节。
GBK的汉字的是占两个字节,当然不一样了。
//转换
new String(splitData.getBytes("ISO8859-1"),"UTF-8");

❺ java里面byte数组和String字符串怎么转换

Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:

String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}

❻ 用java读取压缩文件以byte数组形式传送给C接收然后用c解压 内存中出现大量空字符导致无法正确读取zip,why

@Test
public void test02() throws IOException{
int nullByte = 0;
BufferedInputStream in = new BufferedInputStream(new FileInputStream("D:/download/201009067.rar"));
byte[] outByte = new byte[in.available()];
System.out.println(in.available());
in.read(outByte);
for(byte b : outByte)
if(b == 32)
nullByte ++;
System.out.println(nullByte);
in.close();
}

输出
11635215
47092

我读是没有问题呢。

❼ 请问您的那个java和c++之间关于zip数据压缩和解压的问题解决了吗我也正遇到这个问题,想请教一下

java用
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
//压缩数据并返回压缩后的长度
int compressedDataLength =compresser.deflate(output);

//分离压缩后的数据
byte[] encodestrig = new byte[compressedDataLength];
System.array(output, 0,
encodestrig, 0, compressedDataLe

服务器c++:
Byte buf[1024];
memset(buf,0,1024);
memcpy(buf,strdata.c_str(),strdata.size());

Byteodata[1024];
memset(odata,0,1024);
uLongnodata=1024;
zdecompress(buf,strdata.size(),odata,&nodata);
这个完全能够解决。

❽ java中如何将一个zip文件转为byte数组

input1.read(data1);
这一句执行好data1
就是文件的byte数组了!!!
String
str
=
new
String(data1);//转换成string
下面不要了

for
(int
length1
=
0;
(length1
=
input1.read(data1))
>
0;)
{
output.write(data1,
0,
length1);
}

❾ Java中一个byte是多少个字节,如果byte数组的长度是1024,是1mb的大小吗

1byte 就是1个字节
1byte = 8bit
1KB = 1024 byte
1MB = 1024 KB
所以如果byte数组的长度是1024,应该是1KB的大小

❿ 求教如何将一个java的byte数组快速转换为int数组

byte[] bytes = new byte[1024];
int [] ints = new int[bytes.length];
int index = 0;
for(byte b : bytes){
ints[index++] = (int)b;
}

阅读全文

与javabyte数组压缩相关的资料

热点内容
phpurl问号 浏览:898
什么笔记本电脑可以用python 浏览:135
加密相册如何翻找 浏览:992
泰州地区DNS服务器地址 浏览:849
一种app可以买菜用英语怎么说 浏览:196
中国联通app里面通话详单怎么删除 浏览:505
计算机网络编译软件 浏览:100
程序员说不能说的秘密 浏览:700
在线shell编译器 浏览:102
为什么王者荣耀安卓转苹果成功登不上去 浏览:710
文件加密算法可行性报告 浏览:60
a3双面打印pdf 浏览:270
被命令文言文 浏览:717
c语言编译器在线菜鸟 浏览:215
安卓如何使用华为手机助手 浏览:701
怎么查看域服务器名称 浏览:775
如何把苹果的视频传到安卓手机 浏览:612
接口服务器怎么使用 浏览:62
苹果怎么实现安卓全面屏手势 浏览:977
拳皇97最强宏命令 浏览:921