導航:首頁 > 編程語言 > java讀取圖片位元組

java讀取圖片位元組

發布時間:2023-02-19 09:26:04

⑴ 如何用java讀取一個20M以上的圖片

思路:使用 java.awt.Image包下的Image可以接收圖片。讀取則使用ImageIO對象。

代碼如下:

/**
* 讀取圖片,首先導入以下的包
*/
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.*;

/**
* 用Image對象來接收圖片
* 路徑根據實際情況修改
*/
Image image = ImageIO.read(new File("c:\\1.png"));
System.out.println(image.getSource());itjob網上有相關例子

⑵ 用java怎麼讀取圖片

思路:使用 java.awt.Image包下的Image可以接收圖片。讀取則使用ImageIO對象。

代碼如下:

/**
* 讀取圖片,首先導入以下的包
*/
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.*;

/**
* 用Image對象來接收圖片
* 路徑根據實際情況修改
*/
Image image = ImageIO.read(new File("c:\\1.png"));
System.out.println(image.getSource());

⑶ java 怎麼實現讀取8位的bmp圖片文件

import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];

File file = new File("a.bmp");
BufferedImage bi=null;
try{
bi = ImageIO.read(file);
}catch(Exception e){
e.printStackTrace();
}

int width=bi.getWidth();
int height=bi.getHeight();
int minx=bi.getMinX();
int miny=bi.getMinY();
System.out.println("width="+width+",height="+height+".");
System.out.println("minx="+minx+",miniy="+miny+".");

for(int i=minx;i<width;i++){
for(int j=miny;j<height;j++){
//System.out.print(bi.getRGB(jw, ih));
int pixel=bi.getRGB(i, j);
rgb[0] = (pixel & 0xff0000 ) >> 16 ;
rgb[1] = (pixel & 0xff00 ) >> 8 ;
rgb[2] = (pixel & 0xff );
System.out.println("i="+i+",j="+j+":("+rgb[0]+","+rgb[1]+","+rgb[2]+")");

}
}

}

}

⑷ Java怎樣讀取資料庫中的二進制圖片並下載到本地磁碟

/**
* Created by IntelliJ IDEA.
* User: ljt
* Date: 2003-3-31
* Time: 18:51:38
* To change this template use Options | File Templates.
*/
import oracle.jdbc.driver.OraclePreparedStatement;
import oracle.jdbc.driver.OracleResultSet;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Clob;

public class TestOpenDoc {
public OracleResultSet ors = null; //**這里rs一定要用Oracle提供的
public OraclePreparedStatement opst = null; //**PreparedStatement用
public Connection conn = null;
public Statement stmt = null;

public TestOpenDoc() {
}

public boolean getConnect() {
//這是我的資料庫所在
String serverName = "prosrv";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@" + serverName + ":1521:BOHDATA";
conn = DriverManager.getConnection(url, "appuser", "appuser");
}
catch (Exception e) {
System.out.println(e);
return false;
}
return true;
}

public static void main(String[] args) {
TestOpenDoc test = new TestOpenDoc();
if (!test.getConnect()) {
System.out.println("資料庫連結錯誤");
return ;
}
try{

test.conn.setAutoCommit(false);
byte a[] = null; //**將測試文件test.doc讀入此位元組數組
java.io.FileInputStream fin = null;
java.io.FileOutputStream fout = null;

//Oracle提供的
try {
java.io.File f1 = new java.io.File("c:/test.doc");
java.io.File f2 = new java.io.File("d:/testout.doc"); //**從BLOB讀出的信息寫

//入該文 件,和源文件對比測試用
fin = new java.io.FileInputStream(f1);
fout = new java.io.FileOutputStream(f2);

int flength = (int) f1.length(); //**讀入文件的位元組長度
System.out.println("file length::" + flength);
a = new byte[flength];

int i = 0;
int itotal = 0;
//* 將文件讀入位元組數組
for (; itotal < flength; itotal = i + itotal) {
i = fin.read(a, itotal, flength - itotal);
}
fin.close();

System.out.println("read itotal::" + itotal);
//**注意Oracle的 BLOB一定要用EMPTY_BLOB()初始化
String mysql =
"insert into filelist (FileName,FileSize,FileBody) values (?,?,EMPTY_BLOB())";
OraclePreparedStatement opst = (OraclePreparedStatement) test.conn.
prepareStatement(mysql);
opst.setString(1, "wordtemplate2");
opst.setInt(2, flength);
opst.executeUpdate();
opst.clearParameters();
// /**插入其它數據後,定位BLOB欄位
mysql = "select filebody from filelist where filename=?";
opst = (OraclePreparedStatement) test.conn.prepareStatement(mysql);
opst.setString(1, "wordtemplate2");
OracleResultSet ors = (OracleResultSet) opst.executeQuery();

if (ors.next()) {
oracle.sql.BLOB blob = ors.getBLOB(1); //**得到BLOB欄位
int j = blob.putBytes(1, a); //**將位元組數組寫入BLOB欄位
System.out.println("j:" + j);
test.conn.commit();
ors.close();
Clob clob;
clob = ors.getClob("");
String str;
str = clob.toString();
str = clob.getSubString(0L,(int)clob.length());
System.out.println(str);
}

System.out.println("insert into ok");

byte b[] = null; //**保存從BLOB讀出的位元組
opst.clearParameters();
mysql = "select filebody from filelist where filename=?";
opst = (OraclePreparedStatement) test.conn.
prepareStatement(mysql);
opst.setString(1, "wordtemplate2");
ors = (OracleResultSet) opst.executeQuery();
if (ors.next()) {
oracle.sql.BLOB blob2 = ors.getBLOB(1);

System.out.println("blob2 length:" + blob2.length());
b = blob2.getBytes(1, flength); //**從BLOB取出位元組流數據
System.out.println("b length::" + b.length);
test.conn.commit();
}
ors.close();
// 將從BLOB讀出的位元組寫入文件
fout.write(b, 0, b.length);
fout.close();

System.out.println("write itotal::" + b.length);

}
catch (Exception e) {
System.out.println("errror :" + e.toString());
e.printStackTrace();

}
finally { //**關閉所有數據聯接
test.conn.commit();
}
}
catch(Exception e){
System.out.println(e);

}
}

}

⑸ 怎麼用java從文件中讀取圖片和寫入圖片到文件里

首先導入各種需要的包:
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.*;
讀取圖片的方法如下:
Image[] array = new Image[10];
Image image = ImageIO.read(new File("d:\\source.gif"));//根據你實際情況改文件路徑吧
array[0] = image;
圖片讀出來了。

如果你有一個Image對象,想把它寫入文件可以這樣做:
BufferedImage image = ImageIO.read(new File("d:\\source.gif"));
//要想保存這個對象的話你要把image聲明為BufferedImage 類型
ImageIO.write(image, "png", new File("f:\\test.png"));

⑹ JAVA 如何讀取接受到的byte[]圖片

同上

⑺ java怎麼用io流將一張圖片的位元組碼讀成一張圖片

public class Test{
private ImageIcon getImageAsIcon(String imageFile){
try {
InputStream in = Test.class.getResourceAsStream(imageFile);
final byte[] imageByteBuffer = convertToByteArray(in);
in.close();
return new ImageIcon(imageByteBuffer);
} catch (Exception e) {
return null;
}
}
private static byte[] convertToByteArray(final InputStream is) {
int read = 0;
int totalRead = 0;

byte[] byteArray = new byte[MAX_IMAGE_SIZE];

try {
while ((read = is.read(byteArray,totalRead,MAX_IMAGE_SIZE - totalRead)) >= 0) {
totalRead += read;
}
} catch (Exception e) { return null; }

byte[] finalByteArray = new byte[totalRead];
System.array(byteArray,0,finalByteArray,0, totalRead);
return finalByteArray;
}

⑻ java 圖片文件的讀取和寫入問題

while(i != -1){
os.write(b, 0, b.length);
i=is.read(b, 0, b.length);
}
關鍵是這里,b僅僅是作為一個緩沖區,是可以反復使用的。
建議不要設置的太小至少1024是比較好的。

⑼ JAVA soket 讀取圖片 位元組全部讀取過去了 查看圖片的時候 值顯示一半

感覺是寫文件時
outFile.write(byteDates);
沒給它長度……

⑽ java讀取圖片到byteBuffer中

FileInputStreamin=newFileInputStream("圖片位置");
FileChannelchannel=in.getChannel();
MappedByteBuffermap=channel.map(MapMode.READ_ONLY,0,channel.size());

這不就成了byteBuffer了,其中mappedByteBuffer是ByteBuffer的子類,得到後按照你要的操作就行了。

閱讀全文

與java讀取圖片位元組相關的資料

熱點內容
工商app積分怎麼查詢 瀏覽:143
鐵路app怎麼買火車票 瀏覽:309
移魅族除的app怎麼添加 瀏覽:240
兔籠子大號加密 瀏覽:171
單片機程序燒錄操作成功 瀏覽:878
指標高拋低吸點位源碼 瀏覽:205
25匹壓縮機銅管 瀏覽:570
單片機單燈左移05 瀏覽:150
買伺服器練手什麼配置 瀏覽:783
伺服器被毀該怎麼辦 瀏覽:939
python私有庫 瀏覽:514
Python有中文嗎 瀏覽:736
麥塊的伺服器為什麼都進不去 瀏覽:474
新買的伺服器如何打開 瀏覽:35
安卓軟體游戲怎麼開發 瀏覽:319
用撲克擺愛心解壓神器怎麼擺 瀏覽:70
松下製冷壓縮機 瀏覽:275
pdf里怎麼修改文字 瀏覽:686
已保存文檔加密如何設置 瀏覽:413
怎樣判斷加密貨幣是牛是熊 瀏覽:948