
一般java文件编译过后会成为class文件,这个class文件就是字节码。
ava是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
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-16java将文件转换为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()&&dir.isDirectory()){//判断文件目录是否存在
dir.mkdirs()
}
file = new File(filePath+"\\"+fileName) //新建一个file类
fos = new FileOutputStream(file)
bos = new BufferedOutputStream(fos) //输出的byte文件
bos.write(bfile)
} catch (Exception e) {
e.printStackTrace()
} finally {
if (bos != null) {
try {
bos.close() //关闭资源
} catch (IOException e1) {
e1.printStackTrace()
}
}
if (fos != null) {
try {
fos.close() //关闭资源
} catch (IOException e1) {
e1.printStackTrace()
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)