java中如何把一个文件转化为byte数组?
2个回答
展开全部
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;
}
}
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;
}
}
展开全部
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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询