我在UnZip下面解压缩文件,因为它解压缩,未压缩文件的名称输出到变量 destinationPath
public class UnZip {
public void unzip(String filename) throws IOException {
...
...
try {
...
...
}
else {
System.out.println("Extracting file: " + destinationPath);
BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry));
int b;
byte buffer[] = new byte[1024];
...
...
bos.close();
bis.close();
}
}
}
catch (IOException ioe) {
System.out.println("Error opening zip file" + ioe);
}
finally {
try {
if (zipFile!=null) {
zipFile.close();
}
}
catch (IOException ioe) {
System.out.println("Error while closing zip file" + ioe);
}
}
}
这是我的主要类,我创建了一个名为unzipper的UnZip对象,开始将文件压缩为 zipFilePath 。这是我的问题,当我创建unzipper对象并执行类的过程时,我想输出每个未压缩文件的名称,如UnZip中的变量 destinationPath 所示类。我可以使用任何设计模式来实现这个目标吗?
public class Window extends JFrame {
...
...
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Window frame = new Window();
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Window() {
UnZip unzipper = new UnZip();
try {
unzipper.unzip(zipFilePath);
//I wants to print the file name here
} catch (Exception ex) {
// some errors occurred
ex.printStackTrace();
}
}
}
}
答案 0 :(得分:1)
您可以使用Observer Pattern。这样您就可以将interface
附加到UnZip
类,该类可以调用一个或者向感兴趣的各方提供信息的方法。
通常会打电话给#34;听众"在Swing