導航:首頁 > 源碼編譯 > java本身的壓縮演算法

java本身的壓縮演算法

發布時間:2022-06-17 15:53:18

java中使用壓縮演算法

public ArrayList fun(int[] arr) {
//我只考慮正整數的情況
ArrayList<Integer> list = new ArrayList<Integer>();
int flag = -1;
int ct = 0;
for(int i=0;i<arr.length;i++) {
if(arr[i]!=flag) {
if(ct!=0) {
list.add(ct);
ct = 0;
}
flag = arr[i];
list.add(0);
list.add(arr[i]);
}
ct++;
}
list.add(ct);
return list;
}

Ⅱ 幾種無損數據壓縮演算法的探討及在java web程序中的應用

Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的運行環境(servlet容器)。Tomcat是Apache Jakarta軟體組織的一個子項目,Tomcat是一個JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基礎上發展起來的一個JSP和Servlet規范的標准實現,使用Tomcat可以體驗JSP和Servlet的最新規范。經過多年的發展,Tomcat不僅是JSP和Servlet規范的標准實現,而且具備了很多商業Java Servlet容器的特性,並被一些企業用於商業用途。

JBoss是一個運行EJB的J2EE應用伺服器。它是開放源代碼的項目,遵循最新的J2EE規范。從JBoss項目開始至今,它已經從一個EJB容器發展成為一個基於的J2EE的一個web 操作系統(operating system for web),它體現了J2EE規范中最新的技術

WebLogic伺服器是企業級的應用伺服器,支持EJB, 集群以及 ERP(企業資源計劃)的連通性 ,開發公司:BEA。

WebSphere產品系列是IBM公司一套典型的電子商務應用開發工具及運行環境

Ⅲ 請問您的那個java和c++之間關於zip數據壓縮和解壓的問題解決了嗎我也正遇到這個問題,想請教一下

java用
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
//壓縮數據並返回壓縮後的長度
int compressedDataLength =compresser.deflate(output);

//分離壓縮後的數據
byte[] encodestrig = new byte[compressedDataLength];
System.array(output, 0,
encodestrig, 0, compressedDataLe

伺服器c++:
Byte buf[1024];
memset(buf,0,1024);
memcpy(buf,strdata.c_str(),strdata.size());

Byteodata[1024];
memset(odata,0,1024);
uLongnodata=1024;
zdecompress(buf,strdata.size(),odata,&nodata);
這個完全能夠解決。

Ⅳ java中的壓縮原理是什麼

什麼是壓縮文件?
簡單的說,就是經過壓縮軟體壓縮的文件叫壓縮文件,壓縮的原理是把文件的二進制代碼壓縮,把相鄰的0,1代碼減少,比如有000000,可以把它變成6個0
的寫法60,來減少該文件的空間。
■怎麼壓縮文件?
首先要安裝壓縮軟體,現在比較流行的是WinRAR「一種高效快速的文件壓縮軟體(中文版)」。
其次是建立一個壓縮包:選擇你要製作成壓縮包的文件或文件夾,當然你也可也多選,方法同資源管理器,也就是按住Ctrl或Shift再選擇文件(文件夾)。
選取完畢之後,就可以單擊工具欄上的「壓縮」按鈕,在這里你可以選擇壓縮格式:RAR和ZIP。
如果你想得到較大的壓縮率,建議選擇RAR格式。
各個選項選擇好以後,單擊確定按鈕就開始製作壓縮包了,非常方便。有時候大家會遇到這個問題,就是你在一個論壇里要上傳一些文件壓縮包,壓縮包大小有3M,但是論壇限制會員上傳大小隻有2M,怎麼辦呢?
其實辦法很簡單,就是在你壓縮這個文件時,分成幾個帶分卷壓縮包,分卷包大小設置為2M即可,比如:原來文件名為123.rar(3M),壓縮成分卷包後為123.part1.rar(2M)與123.part2.rar(1M)兩個文件,這樣你就可以上傳了。
具體方法如下:
1、在要壓縮的文件上點右鍵
2、添加到壓縮文件....
3、選常規
4、壓縮方式選最好
5、批定壓縮分卷大小(按位元組計算),1M
=
1024K,1K
=
1024位元組,填寫數字即可
當你下載了帶有分卷的壓縮包後,如何解壓文件呢?
具體方法如下:
1、把所有的壓縮分卷全部下載完整
2、所有分卷必須在同一個文件夾內
3、然後雙擊解壓第一個分卷,即可
註:分卷解壓的文件必須是連續的,若分卷未下載完整,則解壓時自然會提示需要下一壓縮分卷

Ⅳ Java的壓縮演算法

什麼壓縮演算法都有,可自行尋找開源項目

比如gzip之類

Ⅵ 求助:用java實現哈夫曼編碼壓縮與解壓縮演算法。

你好,由於內容比較多,先概述一下先。如圖所示,為我寫的一個壓縮軟體,原理是利用哈弗曼演算法實現的。我將資料整理好稍後就發到你郵箱,但在這里簡要說明一下代碼。

請看我的空間

http://hi..com/%D2%B6%BF%C6%C1%BC/blog

中的文章共5篇(太長了)

http://hi..com/%D2%B6%BF%C6%C1%BC/blog/item/93c35517bb528146f2de32fd.html

1.HuffmanTextEncoder類完成壓縮功能,可直接運行,壓縮測試用文本文件。

2.HuffmanTextDecoder類完成解壓縮功能,可直接運行,解壓縮壓縮後的文本文件。

3.BitReader,工具類,實現對BufferedInputStream的按位讀取。

4.BitWriter,工具類,實現按位寫入的功能。該類來自網路。

5.MinHeap<T>,模板工具類,實現了一個最小堆。生成Huffman樹時使用。

Ⅶ 求助java壓縮圖片存儲大小的方法

可以使用Draw這個類,通過改變像素來改變存儲大小,實例如下:

(StringsrcFilePath,StringdescFilePath)throwsIOException{
Filefile=null;
BufferedImagesrc=null;
FileOutputStreamout=null;
ImageWriterimgWrier;
ImageWriteParamimgWriteParams;

//指定寫圖片的方式為jpg
imgWrier=ImageIO.getImageWritersByFormatName("jpg").next();
imgWriteParams=newjavax.imageio.plugins.jpeg.JPEGImageWriteParam(
null);
//要使用壓縮,必須指定壓縮方式為MODE_EXPLICIT
imgWriteParams.setCompressionMode(imgWriteParams.MODE_EXPLICIT);
//這里指定壓縮的程度,參數qality是取值0~1范圍內,
imgWriteParams.setCompressionQuality((float)1);
imgWriteParams.setProgressiveMode(imgWriteParams.MODE_DISABLED);
ColorModelcolorModel=ImageIO.read(newFile(srcFilePath)).getColorModel();//ColorModel.getRGBdefault();
//指定壓縮時使用的色彩模式
//imgWriteParams.setDestinationType(newjavax.imageio.ImageTypeSpecifier(
//colorModel,colorModel.createCompatibleSampleModel(16,16)));
imgWriteParams.setDestinationType(newjavax.imageio.ImageTypeSpecifier(
colorModel,colorModel.createCompatibleSampleModel(16,16)));

try{
if(isBlank(srcFilePath)){
returnfalse;
}else{
file=newFile(srcFilePath);System.out.println(file.length());
src=ImageIO.read(file);
out=newFileOutputStream(descFilePath);

imgWrier.reset();
//必須先指定out值,才能調用write方法,ImageOutputStream可以通過任何
//OutputStream構造
imgWrier.setOutput(ImageIO.createImageOutputStream(out));
//調用write方法,就可以向輸入流寫圖片
imgWrier.write(null,newIIOImage(src,null,null),
imgWriteParams);
out.flush();
out.close();
}
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
publicstaticbooleanisBlank(Stringstring){
if(string==null||string.length()==0||string.trim().equals("")){
returntrue;
}
returnfalse;
}

Ⅷ java類庫中的圖像壓縮類是採用的什麼演算法

那要看哪種圖片了。。。。。。。。。。。

Ⅸ 用java如何實現壓縮字元串

package javase1.day02;
/**
* 1)一種字元串壓縮演算法
* str ="aaaabbccccddeaaa"
* 壓縮為:"4a2b4c2d1e3a"
* 原理實現:
* str = "aaaabbccccddeaaa"
*
* c = str.charAt(i)//c是每個字元
* 1) 初始化
* StringBuilder buf = new StringBuilder();
* int count = 0;代表相同的字元個數
* char ch = str.charAt(0);代表正在統計的相同字元'a'
* 2) 從i=1開始迭代每個字元
* c = str.charAt(i);//c是每個當前字元
* 3) 檢查當前字元c與被統計ch是否一致
* 如果一致 count++
* 否則(不一致)
* 向緩沖區buf增加count+ch
* count=0,ch=c;
* 3)沒有下個字元就結束
* 4)還有字元串嗎?回到2)
*
* 2)實現還原演算法
* str = "4a2b4c2d1e3a";
* i
*/
public class Demo5 {
public static void main(String[] args) {
String s = comp("aaaawwwwe");
System.out.println(s);
// System.out.println(decomp(s));

}
public static String comp(String str){
int i = 1;
StringBuilder buf = new StringBuilder();
int count = 1;
char ch = str.charAt(0);
for(;;){
char c = i==str.length() ? '\10':str.charAt(i);
if(c==ch){
count++;
}else{
if(count == 1)
buf.append(ch);
else
buf.append(count).append(ch);
count=1;
ch = c;
}
i++;
if(i==str.length()+1){
break;
}
}
return buf.toString();

}
}

閱讀全文

與java本身的壓縮演算法相關的資料

熱點內容
批量qq號有效驗證源碼 瀏覽:511
本科程序員五年工資 瀏覽:899
創維電視櫃怎麼安裝app 瀏覽:850
可愛的程序員陸漓劇照 瀏覽:850
怎樣把截屏壓縮成300kb 瀏覽:224
dart文件加密 瀏覽:39
java對接攝像頭源碼 瀏覽:885
安卓項目開發實例附源碼 瀏覽:728
程序員蘋果全家桶 瀏覽:197
遠程命令阻塞 瀏覽:730
有網頁源碼怎麼查數據 瀏覽:100
win10下make編譯速度過慢 瀏覽:866
微機原理編譯環境 瀏覽:18
怎麼把圖紙轉換成pdf 瀏覽:540
安卓libcurl編譯64 瀏覽:904
手機app怎麼測速 瀏覽:275
中興gpon命令 瀏覽:885
python中取出字典key值 瀏覽:682
Linux目錄inode 瀏覽:148
手機上如何用文件夾發郵件 瀏覽:429