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

java中如何把一个文件转化为byte数组?,第1张

import java.io.File\x0d\x0a\x0d\x0aimport java.io.FileInputStream\x0d\x0a\x0d\x0aimport java.io.IOException\x0d\x0a\x0d\x0aimport java.io.InputStream\x0d\x0a\x0d\x0apublic class Test {\x0d\x0a\x0d\x0apublic static void main(String[] args) {\x0d\x0a\x0d\x0a // TODO Auto-generated method stub\x0d\x0a\x0d\x0a try{\x0d\x0a\x0d\x0a getBytesFromFile(new File("C:\\aaa.txt"))\x0d\x0a\x0d\x0a }catch(IOException e){\x0d\x0a\x0d\x0a System.out.println("IOException")\x0d\x0a\x0d\x0a }\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a//碧巧虚 返回一个byte数组\x0d\x0a\x0d\x0apublic static byte[] getBytesFromFile(File file) throws IOException {\x0d\x0a\x0d\x0aInputStream is = new FileInputStream(file)\x0d\x0a\x0d\x0a// 获取悔燃文件大小\x0d\x0a\x0d\x0along length = file.length()\x0d\x0a\x0d\x0aif (length >Integer.MAX_VALUE) {\x0d\x0a\x0d\x0a// 文件太大,无法读取\x0d\x0a\x0d\x0athrow new IOException("File is to large "+file.getName())\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a/宽册/ 创建一个数据来保存文件数据\x0d\x0a\x0d\x0abyte[] bytes = new byte[(int)length]\x0d\x0a\x0d\x0a// 读取数据到byte数组中\x0d\x0a\x0d\x0aint offset = 0\x0d\x0a\x0d\x0aint numRead = 0\x0d\x0a\x0d\x0awhile (offset = 0) {\x0d\x0a\x0d\x0aoffset += numRead\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a// 确保所有数据均被读取\x0d\x0a\x0d\x0aif (offset 回答于 2022-11-16

读入时使用ByteArrayOutputStream缓存,然后转成byte[]

import java.io.*

public class ReadFileBytes{

    public static void main(String arg[]) throws FileNotFoundException, IOException{

        Integer g[] = new Integer [60]

 祥则纳       

        ByteArrayOutputStream out = new ByteArrayOutputStream()

        FileInputStream      fin  = new FileInputStream("ReadFileBytes.java")

 盯陵       

        int read

        byte[] bytes=new byte[1024]

        while((read = fin.read(bytes)) >0){

            out.write(bytes, 0, read) 

        }

        fin.close()

        

        bytes = out.toByteArray() // 这就是全部的字节数组了。

        out.close()

        

        System.out.println(bytes.length)

    谨没}

}

那你可以把文件的都分成 一小部分来写啊

如:帆肢

FileInputStream ins = new FileInputStream(file)//定位流

BufferedInputStream br 罩轿肢= new BufferedInputStream(ins)//读取流

OutputStream ous = response.getOutputStream()

/*这段应该就是你原本的写法*/

/*byte b[] = new byte[(int) file.length()]

  while(br.read(b) != -1){

//将b中的数据写到客户端的内存

        ous.write(b)

  物世}*/

/*改成这种就可以了*/

byte b[] = new byte[1024]

int len = 0

while((len = br.read(b)) != -1){

ous.write(b,0,len)

}

望采纳,加分


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12165286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存