㈠ java開發的項目是不是要講java文件轉換成二進制的就可以在桌面上直接運行有沒有那樣的轉換軟體
可以做到的,網上好多這樣的軟體。下面我給介紹下:
1. 首先要准備一個轉換軟體----exej
exej這個軟體的下載地址我就不個大家了(我好想給忘了!--!),大家去 搜一搜就可以找到了。
2. 准備Eclipse
關於這個我就不多介紹了,相信大家應該已經很熟了。
准備的東西就需要這么多了,好,下面我們來開始轉換。
第一步:先編寫要轉換的java文件
我用的是一個簡單的例子(如圖)
第二步:將編寫好的java文件轉換成.jar文件(這個有人可能不知道怎麼弄)
1.點擊右鍵選擇[導出]
2.選擇JAR文件
3.點擊[下一步]選擇jar文件導出的路徑,我選的是桌面。
第三步:運行exej
1.首先是一個Welcome界面,我們不管他直接[下一步]
2.我們選擇[JAR in EXE mode]選項,[下一步]
3.我們先填寫[General]的內容,這個是一個短名稱可以隨便命名,
然後填寫[Directories]這個是你轉換後的.exe文件的路徑。[下一步]
4.因為我的例子是基於控制台的應用所以我們選擇[Console application],你也可以編寫GUI應用,那就選擇
GUI application。
[Executable name]這個是轉換後exe文件的名稱,我起的名字是「javatoexe」
[icon File] 你可以為這個exe文件添加一個圖標,必須是.ico文件,否則轉換的時候會報錯。[下一步]
5.首先點擊綠色的加號,選擇我們剛才導出的jar文件,[OK]點擊Main class後面的按鈕,來選擇主類,我的主類是「Javatoexe」就是我們的例子。[下一步]
6.填寫java版本 上面1.3 下面1.6
配置JRE 點擊[Advanced Options] 選擇[Search sequence],點擊綠色的加號,點擊上面的[Directory]選項,在選擇jre的路徑,我的路徑是「E:/Program Files/Java/jre1.5.0」,[OK] [下一步]
7.我們選擇[Client hotspot VM] [下一步]
8.我們默認直接[下一步]
9.我們默認直接[下一步]
編譯結束後[Exit]
這就是我們編譯好的exe文件。
雙擊運行,運行完畢後會自動關閉dos框。
這樣java文件就可以轉換成exe文件。
㈡ java里怎樣把文件轉換成二進制
轉換文件成為二進制數據並保存的代碼:
取出數據並還原文件到本地的java代碼:
[java]view plain//讀取資料庫二進制文件
publicvoidreaderJpg()throwsSQLException
{
connection=connectionManager.getconn();//自己連接自己的資料庫
StringsqlString="selectimagesfromsave_imagewhereid=4";//從資料庫中讀出要還原文件的二進制碼,這里我讀的是自己的資料庫id為4的文件
Filefile=newFile("E:\1.jpg");//本地生成的文件
if(!file.exists())
{
try{
file.createNewFile();
}catch(Exceptione){
e.printStackTrace();
}
}
try{
byte[]Buffer=newbyte[4096*5];
statement=connection.prepareStatement(sqlString);
resultSet=statement.executeQuery();
if(resultSet.next())
{
FileOutputStreamoutputStream=newFileOutputStream(file);
InputStreamiStream=resultSet.getBinaryStream("images");//去欄位用getBinaryStream()
intsize=0;
while((size=iStream.read(Buffer))!=-1)
{
System.out.println(size);
outputStream.write(Buffer,0,size);
}
}
}catch(Exceptione){
e.printStackTrace();
}
}
㈢ java 16進制字元串轉為二進制bit數組
應該用byte型數組
public static String stringToHexString(String strPart) {
String hexString = "";
for (int i = 0; i < strPart.length(); i++) {
int ch = (int) strPart.charAt(i);
String strHex = Integer.toHexString(ch);
hexString = hexString + strHex;
}
return hexString;
}
private static String hexString="0123456789ABCDEF";
/*
* 將字元串編碼成16進制數字,適用於所有字元(包括中文)
*/
public static String encode(String str)
{
// 根據默認編碼獲取位元組數組
byte[] bytes=str.getBytes();
StringBuilder sb=new StringBuilder(bytes.length*2);
// 將位元組數組中每個位元組拆解成2位16進制整數
for(int i=0;i<bytes.length;i++)
{
sb.append(hexString.charAt((bytes[i]&0xf0)>>4));
sb.append(hexString.charAt((bytes[i]&0x0f)>>0));
}
return sb.toString();
}
/*
* 將16進制數字解碼成字元串,適用於所有字元(包括中文)
*/
public static String decode(String bytes)
{
ByteArrayOutputStream baos=new ByteArrayOutputStream(bytes.length()/2);
// 將每2位16進制整數組裝成一個位元組
for(int i=0;i<bytes.length();i+=2)
baos.write((hexString.indexOf(bytes.charAt(i))<<4 |hexString.indexOf(bytes.charAt(i+1))));
return new String(baos.toByteArray());
}
private static byte uniteBytes(byte src0, byte src1) {
byte _b0 = Byte.decode("0x" + new String(new byte[] {src0})).byteValue();
_b0 = (byte) (_b0 << 4);
byte _b1 = Byte.decode("0x" + new String(new byte[] {src1})).byteValue();
byte ret = (byte) (_b0 | _b1);
return ret;
public static byte[] HexString2Bytes(String src)
{
byte[] ret = new byte[6];
byte[] tmp = src.getBytes();
for(int i=0; i<6; ++i )
{
ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]);
}
return ret;
}
㈣ Java中如何把圖片轉換成二進制流
使用java的IO流對圖片進行二進制讀取操作即可
示例為:讀取圖片為二進制流,並寫入到其他圖片中
staticvoidtestCopyImage(){
Filesource=newFile("E:\share\Wallpaper\Bliss.jpg");
Filedesk=newFile("d:\images");
if(!desk.exists()){
desk.mkdir();
}
try{
FileInputStreaminputStream=newFileInputStream(source);
FileOutputStreamoutputStream=newFileOutputStream(newFile("d:/images/Bliss.jpg"));
intch=inputStream.read();
while(ch!=-1){
outputStream.write(ch);
ch=inputStream.read();
}
inputStream.close();
outputStream.close();
System.out.println("圖片復製成功!");
}catch(FileNotFoundExceptione){
System.out.println("文件不存在:"+e.getMessage());
}catch(IOExceptione){
System.out.println("文件讀取錯誤:"+e.getMessage());
}
}
㈤ java中怎樣把圖片轉換成二進制
File file = new File("C:/Program Files/HITACHI/EUR Print Service/IMAGE/aaa.jpg");
byte[] bbb = new byte[10240];
try {
InputStream a = new FileInputStream(file);
a.read(bbb);
System.out.println(bbb[0]);
System.out.println(Integer.toBinaryString(bbb[0]));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我這里是一次把圖片全讀進來,所以定義的數組長度為10240,也就是10kb吧,當然你也可以定義小點,然後分次讀。反正二進制都在這個數組裡面,最後兩句我只是舉了個例子教你怎麼看這個二進制,第一個是現實二進制對應的整數,第二個是顯示二進制了。
㈥ 利用java,怎麼把二進制字元串轉化為相應的二進制數組
寫了一下 就這專樣屬
public class test {
public static void main(String[] args) {
String a="10000101010";
char[] b = a.toCharArray();
System.out.println(b[1]);
}
}
㈦ JAVA編程,請問怎麼將十進制數轉換成二進制輸出,又怎麼將二進制數轉換成十進制輸出
1、創建java類,TestNumConv.java;
㈧ java如何把圖片轉換成二進制並存到oracle的blob中,求代碼
importjavax.imageio.ImageIO;
importjava.awt.image.BufferedImage;
importjava.io.ByteArrayInputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.File;
importjava.io.IOException;
publicclassImageUtils{
publicstaticvoidmain(String[]args){
Stringstr=img2Binary("C:\Users\hny\Desktop\favicon.jpg");
System.out.println(str);
binary2Img("C:\Users\hny\Desktop\favicon2.jpg",str);
}
/**
*圖片轉二進制字元串
*
*@圖片路徑
*@return
*/
publicstaticStringimg2Binary(Stringpath){
Filefile=newFile(path);
if(!file.exists()){
returnnull;
}
try{
BufferedImagebi=ImageIO.read(file);
ByteArrayOutputStreambaos=newByteArrayOutputStream();
Stringsuffix=getSuffix(path);
ImageIO.write(bi,suffix,baos);
byte[]bytes=baos.toByteArray();
returnnewsun.misc.BASE64Encoder().encodeBuffer(bytes).trim();
}catch(IOExceptione){
e.printStackTrace();
}
returnnull;
}
/**
*字元串轉圖片文件
*
*@parampath圖片路徑
*@paramimgBinary圖片字元串
*/
publicstaticvoidbinary2Img(Stringpath,StringimgBinary){
try{
Filefile=newFile(path);
byte[]bytes1=newsun.misc.BASE64Decoder().decodeBuffer(imgBinary);
ByteArrayInputStreams=newByteArrayInputStream(bytes1);
BufferedImagebi1=ImageIO.read(s);
Stringsuffix=getSuffix(path);
ImageIO.write(bi1,suffix,file);
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*獲取圖片後綴名
*
*@parampath
*@return
*/
privatestaticStringgetSuffix(Stringpath){
intindex=path.contains(".")?path.lastIndexOf("."):-1;
if(index>-1){
returnpath.substring(index+1);
}
returnnull;
}
}