當前位置:首頁 » 文件管理 » io壓縮流

io壓縮流

發布時間: 2022-07-11 01:01:41

『壹』 io流如何將文件壓縮上傳

先生成壓縮對象入口因為需要被壓縮的文件不止一個需要用相同方法生成壓縮入口文件後才能放進壓縮文件。
首先伺服器應該開啟,並開啟一個埠號供客戶端進行連接通信,實現這個是通過伺服器通過監聽這個埠號的通信來確定是否有客戶端進行訪問,實現這個是通過,伺服器做好了准備工作,那客戶端可以與客戶端進行通信了,首先創建連接,這里的ip和port都是伺服器的。

『貳』 用 javax.imageio 實現圖片壓縮原理是什麼

下面是傳進byte[],傳出byte[]數組的,稍微修改即可即可,(data為傳過來的byte[]數組)
Java代碼
ByteArrayInputStream is = new ByteArrayInputStream(data);

BufferedImage src = null;
ByteArrayOutputStream out = null;
ImageWriter imgWrier;
ImageWriteParam imgWriteParams;

// 指定寫圖片的方式為 jpg
imgWrier = ImageIO.getImageWritersByFormatName("jpg").next();
imgWriteParams = new javax.imageio.plugins.jpeg.JPEGImageWriteParam(null);

// 要使用壓縮,必須指定壓縮方式為MODE_EXPLICIT
imgWriteParams.setCompressionMode(imgWriteParams.MODE_EXPLICIT);
// 這里指定壓縮的程度,參數qality是取值0~1范圍內,
imgWriteParams.setCompressionQuality((float)0.1/data.length);

imgWriteParams.setProgressiveMode(imgWriteParams.MODE_DISABLED);
ColorModel colorModel = ColorModel.getRGBdefault();
// 指定壓縮時使用的色彩模式
imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(colorModel, colorModel
.createCompatibleSampleModel(16, 16)));

try {
src = ImageIO.read(is);
out = new ByteArrayOutputStream(data.length);

imgWrier.reset();
// 必須先指定 out值,才能調用write方法, ImageOutputStream可以通過任何 OutputStream構造
imgWrier.setOutput(ImageIO.createImageOutputStream(out));
// 調用write方法,就可以向輸入流寫圖片
imgWrier.write(null, new IIOImage(src, null, null), imgWriteParams);

out.flush();
out.close();
is.close();
data = out.toByteArray();
} catch(Exception e) {
e.printStackTrace();
}

『叄』 IO的流的概念是什麼什麼是流

IO是輸入(I)和輸出(O)的意思。這個「流」應該是流媒體的意思。
流媒體(英語:Streaming Media)是指將一連串的多媒體數據壓縮後,經過互聯網分段發送數據,在互聯網上即時傳輸影音以供觀賞的一種技術與過程,此技術使得數據數據包得以像流水一樣發送,如果不使用此技術,就必須在使用前下載整個媒體文件。
一些流行的流媒體服務包括Hulu、Netflix、Amazon Prime Video以及視頻分享網站YouTube, 音樂流網站有Spotify以及Apple Music,電子游戲流網站有Twitch以及Mixer。

『肆』 IO壓縮流問題,為什麼老是出現no current ZIP entry錯誤

類似問題: Archive for required library: 『WebContent/WEB-INF/lib/readme.txt』 in project 『xxxxxxxxx』 cannot be read or is not a valid ZIP file 解決方案: 用記事本打開項目根目錄的.classpath文件,找到「」這一行,刪掉

『伍』 io流讀文件與從資料庫讀文件,哪個效率高些

當然是從文本里讀取速度會更快了。

理由很簡單,因為資料庫是加密壓縮的,所以讀取後肯定先解壓解密,而文本文件是很赤裸裸的東西,光用記事本就能看得到內容,所以省去了解壓和解密的時間咯~~~

你說是文本快?還是資料庫快?

『陸』 java 如何將 txt 文件 變成zip壓縮文件 求例子!!

這個要用 壓縮流類 ZipOutputStream
下面是一個例子 在D盤下有個 名字叫 demo.txt的文件.程序運行後會再D盤下生成一個demo.zip的文件,以下是代碼:
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipOutputStreamDemo {
public static void main(String args[]) throws IOException {
//定義要壓縮的文件 也就是說在D盤里有個 demo.txt 的文件(必須要有,否者會有異常,實際應用中可判斷);
File file = new File("d:" + File.separator + "demo.txt");

//定義壓縮文件的名稱
File zipFile = new File("d:" + File.separator + "demo.zip");

//定義輸入文件流
InputStream input = new FileInputStream(file);

//定義壓縮輸出流
ZipOutputStream zipOut = null;

//實例化壓縮輸出流,並制定壓縮文件的輸出路徑 就是D盤下,名字叫 demo.zip
zipOut = new ZipOutputStream(new FileOutputStream(zipFile));

zipOut.putNextEntry(new ZipEntry(file.getName()));

//設置注釋
zipOut.setComment("www.demo.com");
int temp = 0;
while((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
zipOut.close();

}
}
希望能幫助樓主,建議樓主多看看JDK文檔,設計到文件的輸出什麼都在JAVA.IO包里,好好看看..
不過樓主要知道,壓縮流也是inputstream和outputstream的子類,但是並沒有定義在java.io包里,而是以一個工具類的形式出現的,但是在用的時候還是需要java.io包的支持的...

『柒』 關於二進制IO和文本IO

二進制的io效率一定比字元型的io效率高,這是肯定的.
其實二進制的io可以完全取代字元型的io.但是用起來會很痛苦.也就是說自己要處理很多有關字元轉換的東西.而字元型的io的已經把各種各樣的轉換,可能會出現的問題都封裝好了,你只要使用就行了.自己就不需要處理太多的細節.提高開發效率.
不過你的水平比較高的話,還是推薦你使用二進制的io.
因為java中很多io演算法都是針對二進制的.例如:zip壓縮演算法.

『捌』 JAVA壓縮文件問題

import java.io.File ;
import java.io.FileInputStream ;
import java.io.InputStream ;
import java.util.zip.ZipEntry ;
import java.util.zip.ZipOutputStream ;
import java.io.FileOutputStream ;
public class ZipOutputStreamDemo01{
public static void main(String args[]) throws Exception{ // 所有異常拋出
File file = new File("d:" + File.separator + "mldn.txt") ; // 定義要壓縮的文件
File zipFile = new File("d:" + File.separator + "mldn.zip") ; // 定義壓縮文件名稱
InputStream input = new FileInputStream(file) ; // 定義文件的輸入流
ZipOutputStream zipOut = null ; // 聲明壓縮流對象
zipOut = new ZipOutputStream(new FileOutputStream(zipFile)) ;
zipOut.putNextEntry(new ZipEntry(file.getName())) ; // 設置ZipEntry對象
zipOut.setComment("www.mldnjava.cn") ; // 設置注釋
int temp = 0 ;
while((temp=input.read())!=-1){ // 讀取內容
zipOut.write(temp) ; // 壓縮輸出
}
input.close() ; // 關閉輸入流
zipOut.close() ; // 關閉輸出流
}
};
問題(1)我想問下 zipOut.putNextEntry(new ZipEntry(file.getName())) ; 這段程序是什麼意思這段程序中的file.getName() 這個getName()從哪裡跑出來的沒有這個方法啊。
問題(2)
zipOut.setComment("www.mldnjava.cn") ; // 設置注釋

這段程序是什麼意思啊 ?有什麼用?

熱點內容
掛qphp 發布:2025-03-14 10:13:12 瀏覽:640
資料庫關系表示 發布:2025-03-14 10:13:11 瀏覽:232
腳本抖音號 發布:2025-03-14 10:11:07 瀏覽:668
演算法第 發布:2025-03-14 04:40:56 瀏覽:227
天選2什麼配置好 發布:2025-03-14 03:37:17 瀏覽:287
魅族手機怎麼找回密碼 發布:2025-03-14 02:35:48 瀏覽:298
配置高低主要看什麼 發布:2025-03-14 01:49:22 瀏覽:88
locpython 發布:2025-03-14 01:12:50 瀏覽:352
java數組的定義方法 發布:2025-03-14 00:53:25 瀏覽:527
壓縮性綳帶 發布:2025-03-14 00:30:21 瀏覽:187