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

如题所述

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

try{

getBytesFromFile(new File("C:\\aaa.txt"));

}catch(IOException e){

System.out.println("IOException");

}

}

// 返回一个byte数组

public static byte[] getBytesFromFile(File file) throws IOException {

InputStream is = new FileInputStream(file);

// 获取文件大小

long length = file.length();

if (length > Integer.MAX_VALUE) {

// 文件太大,无法读取

throw new IOException("File is to large "+file.getName());

}

// 创建一个数据来保存文件数据

byte[] bytes = new byte[(int)length];

// 读取数据到byte数组中

int offset = 0;

int numRead = 0;

while (offset < bytes.length

&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {

offset += numRead;

}

// 确保所有数据均被读取

if (offset < bytes.length) {

throw new IOException("Could not completely read file "+file.getName());

}

// Close the input stream and return bytes

is.close();

return bytes;

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-15
import java.io.*;

public class TestT {
public static void main(String[] args) throws IOException {
File doc = new File("目录/1.json");

FileInputStream fis = new FileInputStream(doc);
int fisByteNum = fis.available();
byte[] fisByte = new byte[fisByteNum];
fis.close();
}

java中如何将一个字节数组转化为byte数组
首先,最直接的方法是使用InputStream.read(byte[] b, int off, int len),这个方法会读取指定数量的字节到指定的byte数组中。例如:byte[] bytes = new byte[1024];int bytesRead = in.read(bytes);if (bytesRead != -1) { \/\/ bytesRead now holds the number of bytes read } 另一种...

java怎么把一个类转成byte数组
根据byte数组,生成文件 \/ public static void getFile(byte[] bfile, String filePath,String fileName) { BufferedOutputStream bos = null; \/\/新建一个输出流 FileOutputStream fos = null; \/\/w文件包装输出流 File file = null;try { File dir = new File(filePath);if(!dir.exists()...

java中如何将一个zip文件转为byte数组
读入时使用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(); File...

java怎么将string转换成byte数组
思路:先定义字符串,再通过getBytes()方法进行转换数组就可以了。参考代码:String s = "ZhiDao";\/\/定义字符串byte[] sb = s.getBytes();\/\/把字符串转换成数组String的getBytes()方法是得到一个系统默认的编码格式的字节数组。将一个String类型的字符串中包含的字符转换成byte类型并且存入一个byte[]...

JAVA中怎么将int数据转换为byte数据?
JAVA中根据以下代码将int数据转换为byte数据:public static byte[] int32ToBytes(int val) { int size = Integer.SIZE \/ Byte.SIZE;byte[] ret = new byte[size];for (int i = 0; i < size; ++i) { ret[i] = (byte) (val << (8 * i) >> 56);} return ret;} ...

java中String类型的如何转为byte[]
调用String类的getBytes()方法:public static byte[] strToByteArray(String str) { if (str == null) { return null;} byte[] byteArray = str.getBytes();return byteArray;}

JAVA问题,将 一个 class 转换成 bytebuffer
先用ByteOutputStream配合DataOutputStream把对象转换成byte a[]字节数组。再在确保ByteBuffer的容量比a[]大的前提下,用bytebuffer.wrap(a)把字节数组给包进ByteBuffer中。

Java中File和byte怎么互转,可以介绍几种做法么
byte[] xml=new byte[len];fis.read(xml);\/\/现在file中的内容全读到了byte[]数组中 \/\/如果文件中是文本信息那么: String str=new String(xml,"utf-8");就可以得到文字内容 } } } catch (Exception e) {} 反过来,由byte[]转成file也是一样啊,不过FileInputStream 要改成FileOutputStream...

java 急急急,怎样将一个字符串转换成一个byte数组,详细说明在下边_百 ...
static final byte[] getByteArray(String s){ String s[] = s.split("-");if(s.length() > 0){ byte[] b = new byte[s.length()];for(int i = 0 ; i < b.length; i++)b[i] = getValue(s[i]);} else return null;} static final int getValue(String s){ if(s....

...将 图像文件(png,jpg,等等) 转换成byte数组的 程序 谢谢 了_百度...
ByteArrayOutputStream imageStream = new ByteArrayOutputStream();try { \/\/把这个jpg图像写到这个流中去,这里可以转变图片的编码格式 boolean resultWrite = ImageIO.write(bu, "png", imageStream);} catch (IOException e) { \/\/ TODO Auto-generated catch block e.printStackTrace();} byte[]...

相似回答