溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JAVA輸入輸出流詳解(G)

發(fā)布時(shí)間:2020-08-08 19:52:33 來源:ITPUB博客 閱讀:171 作者:lotuszm 欄目:編程語言

import java.util.*;
import java.util.zip.*;
import java.io.*;

class ZipFileHandle{
private String[] FileNameArray; //
真實(shí)文件名存放數(shù)組
private String[] FileNameArrayShow; //
需要顯示的文件名存放數(shù)組
private ZipInputStream zipFile; //zip
輸入流對(duì)象
private ZipEntry entry; //zip
文件入口對(duì)象
private int zipFileCount = 0; //zip
中的文件總數(shù)[@more@]/**
*
初始化各個(gè)參數(shù)

*
通過類的套嵌來訪問文件
*
將得到文件的清單附值給數(shù)組,以便在后面用戶選擇時(shí)從數(shù)組中獲得文件名
*/
public ZipFileHandle(File file){
try{
while (!(file.exists())) {
System.out.println("Plase input right path again: ");
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
String filepath = userInput.readLine();
file = new File(filepath);
}
zipFile = new ZipInputStream(new FileInputStream(file));
while ((zipFile.getNextEntry()) != null){
zipFileCount++;
}
FileNameArray = new String[zipFileCount];
FileNameArrayShow = new String[zipFileCount];
}catch(IOException e){
System.out.println("
初始化錯(cuò)誤?。?!");
e.printStackTrace();
}
}
/**
*
生成文件目錄
*
根據(jù)show的值來確定返回值
*
如果show的值為"sh"則返回在屏幕上顯示的名稱
*
如果show的值為"gr"則返回實(shí)際名稱
*/
public String[] getFileNameList(String show,File file){
try{
int i = 0;
String FileName;
zipFile = new ZipInputStream(new FileInputStream(file));
while ((entry = zipFile.getNextEntry()) != null){
FileName = entry.getName();
//
真實(shí)文件名附值
FileNameArray[i] = FileName;
//
顯示文件名附值
if (FileName.equals("")) FileName = "...";
FileName = Integer.toString(i) + "-|" + FileName;
FileNameArrayShow[i] = FileName;
i++;
}
zipFile.close();
//
根據(jù)條件返回文件數(shù)組
if(show == "sh"){
return FileNameArrayShow;
}else{
return FileNameArray;
}
}catch(IOException e){
System.out.println("
讀取zip文件內(nèi)的文件名出錯(cuò)!?。?/span>");
e.printStackTrace();
return null;
}
}

/**
*
讀取文件內(nèi)容
*
根據(jù)傳遞進(jìn)來的zip文件對(duì)象和
*zip
中所要顯示的文件
*
用戶根據(jù)type來選擇返回的是unicode信息還字節(jié)信息
*
如果type"Str"則返回字符串信息,"Byte"則返回通過字節(jié)獲得的文件內(nèi)容
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI