Witam,
Tym razem mam problem następującej treści stworzyłem program który spakowuje i rozpakowuje plik, spakowanie działa bez zarzutu natomiast problem jest przy rozpakowywaniu .. co prawda plik zostaje wyciągniety ale ma złe rozszerzenie np w archiwum zip znajduje sie plik txt plik zostanie wyciagniety ale ma równiez rozserzenie zip ;/
Tu kod z ktorego korzystam
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JOptionPane;
import java.io.*;
import java.util.*;
import java.util.zip.*;
import java.text.*;
class UnZip {
public static void main(String args[]) throws IOException {
JFileChooser fileopen = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("c files", "c");
fileopen.addChoosableFileFilter(filter);
int ret = fileopen.showDialog(null, "Wybierz plik");
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fileopen.getSelectedFile();
String nazw = new String(file.getName());
System.out.println(file);
System.out.println("Nazwa twojego pliku to: " + nazw);
InputStream in =
new BufferedInputStream(new FileInputStream(nazw)); //podejrzewam ze tu jest blad
ZipInputStream zin = new ZipInputStream(in);
ZipEntry e =new ZipEntry(nazw);
while((e=zin.getNextEntry())!= null) {
if (args.length > 1) {
if (e.getName().equals(args[1])) {
unzip(zin, args[1]);
break;
}
}
unzip(zin, e.getName());
}
zin.close();
}
}
public static void unzip(ZipInputStream zin, String s)
throws IOException {
System.out.println("unzipping " + s);
FileOutputStream out = new FileOutputStream(s);
byte [] b = new byte[512];
int len = 0;
while ( (len=zin.read(b))!= -1 ) {
out.write(b,0,len);
}
out.close();
}
}