java里怎样把文件转换成二进制?

如题所述

转换文件成为二进制数据并保存的Java代码:

取出数据并还原文件到本地的java代码:

[java] view plain copy//读取数据库二进制文件  

public void readerJpg() throws SQLException  

{  

connection=connectionManager.getconn();//自己连接自己的数据库

String sqlString="select images from save_image where id=4";//从数据库中读出要还原文件的二进制码,这里我读的是自己的数据库id为4的文件  

File file=new File("E:\\1.jpg");//本地生成的文件  

if(!file.exists())  

{  

try {  

file.createNewFile();  

} catch (Exception e) {  

e.printStackTrace();  

}  

}  

try {  

byte[] Buffer = new byte[4096*5];  

statement=connection.prepareStatement(sqlString);  

resultSet = statement.executeQuery();  

if(resultSet.next())  

{  

FileOutputStream outputStream = new FileOutputStream(file);  

InputStream iStream = resultSet.getBinaryStream("images");//去字段用getBinaryStream()  

int size=0;  

while((size=iStream.read(Buffer))!=-1)  

{  

System.out.println(size);  

outputStream.write(Buffer,0,size);  

}  

}  

} catch (Exception e) {  

e.printStackTrace();  

}  

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-22
你的意思是将文件转化成流的形式是吧?可以这么做,先通过本类来得到类的加载器,然后在通过类的加载器来把文件作为流加载进来:FileInputStream
input
=
this.getClass().getClassLoader().getResourceAsStream("文件名称");
第2个回答  2018-01-08

java里把文件转换成二进制的步骤如下:

1、在Eclipse中新建一个Java工程,在此工程中新建一个Java类;

2、在新建的Java类中利用FileInputStream和ByteArrayOutputStream来读取指定文件的内容,并转换成二进制;

3、具体实现代码如下:

public static byte[] getFileToByte(File file) {
byte[] by = new byte[(int) file.length()];
try {
InputStream is = new FileInputStream(file);
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
byte[] bb = new byte[2048];
int ch;
ch = is.read(bb);
while (ch != -1) {
bytestream.write(bb, 0, ch);
ch = is.read(bb);
}
by = bytestream.toByteArray();
} catch (Exception ex) {
ex.printStackTrace();
}
return by;
}