第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

數(shù)據(jù)壓縮算法:壓縮字符串

數(shù)據(jù)壓縮算法:壓縮字符串

拉風(fēng)的咖菲貓 2023-02-23 17:44:20
所以,我基本上是在開發(fā)一個(gè)桌面應(yīng)用程序,你可以在其中提供一個(gè)文件,它會(huì)壓縮它并以壓縮字符串格式返回給你。我的意思是我讀取文件的字節(jié),壓縮這些字節(jié),然后基本上將它們轉(zhuǎn)換成原始 .txt 文件。轉(zhuǎn)換過程很簡(jiǎn)單,我想知道的是如何壓縮文件。我知道我想進(jìn)行無損數(shù)據(jù)壓縮,因?yàn)檫@就是我解壓縮文件的方式,但我只是不知道要使用哪種壓縮算法,或者我是否需要自己編寫一些程序。例如:public String CompressFile(Bytes fileInformation[]) {   for(int i = 0; i < fileInformation; i++) {      if(fileInformation[i].equals(fileInformation[i + 1]) {        // Say that the file has two instances of the same byte than no need to         // include it twice or thrice.      }   }}上面是一個(gè)非常基本的例子。但我想要更復(fù)雜的東西,可以壓縮文件,直到剩下的是真正的熵或隨機(jī)性。不再壓縮,這是盡可能隨機(jī)的。從這些數(shù)據(jù)中,我可以解壓縮文件并在用戶向我提供壓縮數(shù)據(jù)時(shí)將其呈現(xiàn)給用戶。簡(jiǎn)而言之,我想使用一種高效、快速、有效且功能強(qiáng)大的壓縮算法。提前致謝。編輯: 為了更好地表達(dá)這一點(diǎn),我需要壓縮或縮小文件包含的字符串或字節(jié)序列,而不是文件本身。這道題的重點(diǎn)是我想壓縮一個(gè)int數(shù)組。就像我有一個(gè)數(shù)組 {1, 4, 5, 1, 4} 那么我想將一個(gè)和四個(gè)組合在一起。它不是那么有用,但是隨著數(shù)組的擴(kuò)大,壓縮算法可以幫助大大減少數(shù)組的長(zhǎng)度。
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

據(jù)我現(xiàn)在的理解,這個(gè)問題是無關(guān)緊要的。我想要的是一種壓縮數(shù)據(jù)的方法,因?yàn)槲业膬?nèi)存無法處理它。但現(xiàn)在我意識(shí)到,我應(yīng)該做的不是那樣,而是分塊讀取文件,所以壓縮與否并不重要。這是怎么做的:


try {

? ? File file = new File("myFile");

? ? FileInputStream is = new FileInputStream(file);

? ? byte[] chunk = new byte[1024];

? ? int chunkLen = 0;

? ? while ((chunkLen = is.read(chunk)) != -1) {

? ? ? ? // your code..

? ? }

} catch (FileNotFoundException fnfE) {

? ? // file not found, handle case

} catch (IOException ioE) {

? ? // problem reading, handle case

}

至于壓縮函數(shù),如果有人想要的話,可以使用由tonyking97編寫的這個(gè)很棒的LZW 壓縮算法,基本上你必須將字節(jié)數(shù)組轉(zhuǎn)換為字符串,然后通過這個(gè)壓縮函數(shù)傳遞它。它可以工作,但是對(duì)于大字節(jié)數(shù)組來說速度很慢。

當(dāng)然,為了再次寫入文件,我們必須使用而FileOutputStream不是FileInputStream并說outputStream.write(byte[], int, int).?希望這會(huì)對(duì)某人有所幫助:)


查看完整回答
反對(duì) 回復(fù) 2023-02-23
  • 1 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)