導航:首頁 > 編程語言 > 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讀取圖片位元組相關的資料

熱點內容
python後端開發博客 瀏覽:616
java動態數組定義 瀏覽:986
各大網站的伺服器地址 瀏覽:368
伺服器連接不到網際網路什麼意思 瀏覽:739
如何在文件夾中顯示頁碼 瀏覽:354
雲伺服器登不上qq 瀏覽:417
程序員四級工程師 瀏覽:715
薄荷app怎麼把體重清零 瀏覽:644
草料二維碼加密怎麼製作 瀏覽:851
04s519隔油池圖集pdf 瀏覽:242
程序員搞測試 瀏覽:552
蘋果app應用隱藏了怎麼辦 瀏覽:660
PDF調取 瀏覽:199
獨立柱加密需要什麼條件 瀏覽:814
php培訓出來找不到工作 瀏覽:106
小程序克隆源碼 瀏覽:448
python整數整除負數 瀏覽:880
遮天用什麼小說app看 瀏覽:645
什麼可以發類似朋友圈的app 瀏覽:495
cmd查找命令行 瀏覽:661