Skip to content

Commit e6a88fc

Browse files
#3 refactoring
1 parent fe315a5 commit e6a88fc

File tree

3 files changed

+19
-21
lines changed

3 files changed

+19
-21
lines changed

src/main/java/ru/olegcherednik/zip4jvm/io/out/entry/EntryMetadataOutputStream.java

+9-13
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,8 @@
2626
import ru.olegcherednik.zip4jvm.model.builders.LocalFileHeaderBuilder;
2727
import ru.olegcherednik.zip4jvm.model.entry.ZipEntry;
2828

29-
import org.apache.commons.codec.digest.PureJavaCrc32;
30-
3129
import java.io.IOException;
3230
import java.io.OutputStream;
33-
import java.util.zip.CRC32;
34-
import java.util.zip.Checksum;
3531

3632
import static ru.olegcherednik.zip4jvm.model.ZipModel.MAX_ENTRY_SIZE;
3733
import static ru.olegcherednik.zip4jvm.model.ZipModel.MAX_LOCAL_FILE_HEADER_OFFS;
@@ -52,9 +48,9 @@ public final class EntryMetadataOutputStream extends OutputStream {
5248

5349
private final ZipEntry zipEntry;
5450
private final DataOutput out;
55-
private final Checksum checksum = new PureJavaCrc32();
51+
// private final Checksum checksum = new PureJavaCrc32();
5652

57-
private long uncompressedSize;
53+
// private long uncompressedSize;
5854

5955
public EntryMetadataOutputStream(ZipEntry zipEntry, DataOutput out) {
6056
this.zipEntry = zipEntry;
@@ -70,20 +66,20 @@ public void writeLocalFileHeader() throws IOException {
7066

7167
@Override
7268
public void write(int b) throws IOException {
73-
checksum.update(b);
74-
uncompressedSize++;
69+
// checksum.update(b);
70+
// uncompressedSize++;
7571
}
7672

7773
@Override
7874
public void write(byte[] buf, int offs, int len) throws IOException {
79-
checksum.update(buf, offs, len);
80-
uncompressedSize += Math.max(0, len);
75+
// checksum.update(buf, offs, len);
76+
// uncompressedSize += Math.max(0, len);
8177
}
8278

8379
@Override
8480
public void close() throws IOException {
85-
zipEntry.setChecksum(checksum.getValue());
86-
zipEntry.setUncompressedSize(uncompressedSize);
81+
// zipEntry.setChecksum(checksum.getValue());
82+
// zipEntry.setUncompressedSize(uncompressedSize);
8783
zipEntry.setCompressedSize(out.getWrittenBytesAmount(COMPRESSED_DATA));
8884
updateZip64();
8985
writeDataDescriptor();
@@ -104,7 +100,7 @@ private void writeDataDescriptor() throws IOException {
104100
if (!zipEntry.isDataDescriptorAvailable())
105101
return;
106102

107-
DataDescriptor dataDescriptor = new DataDescriptor(checksum.getValue(),
103+
DataDescriptor dataDescriptor = new DataDescriptor(zipEntry.getChecksum(),
108104
zipEntry.getCompressedSize(),
109105
zipEntry.getUncompressedSize());
110106
DataDescriptorWriter.get(zipEntry.isZip64(), dataDescriptor).write(out);
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package ru.olegcherednik.zip4jvm.io.out.entry;
22

3-
import ru.olegcherednik.zip4jvm.io.out.entry.encrypted.EncryptedEntryOutputStream;
3+
import ru.olegcherednik.zip4jvm.model.entry.ZipEntry;
44

55
import lombok.RequiredArgsConstructor;
66
import org.apache.commons.codec.digest.PureJavaCrc32;
77

88
import java.io.IOException;
99
import java.io.OutputStream;
10-
import java.util.zip.CRC32;
1110
import java.util.zip.Checksum;
1211

1312
/**
@@ -17,7 +16,8 @@
1716
@RequiredArgsConstructor
1817
public class FooOutputStream extends OutputStream {
1918

20-
private final EncryptedEntryOutputStream eos;
19+
private final ZipEntry zipEntry;
20+
private final OutputStream out;
2121
private final Checksum checksum = new PureJavaCrc32();
2222

2323
private long uncompressedSize;
@@ -26,24 +26,26 @@ public class FooOutputStream extends OutputStream {
2626
public final void write(int b) throws IOException {
2727
checksum.update(b);
2828
uncompressedSize++;
29-
eos.write(b);
29+
out.write(b);
3030
}
3131

3232
@Override
3333
public void write(byte[] buf, int offs, int len) throws IOException {
3434
checksum.update(buf, offs, len);
3535
uncompressedSize += Math.max(0, len);
36-
eos.write(buf, offs, len);
36+
out.write(buf, offs, len);
3737
}
3838

3939
@Override
4040
public void close() throws IOException {
41-
eos.close();
41+
zipEntry.setChecksum(checksum.getValue());
42+
zipEntry.setUncompressedSize(uncompressedSize);
43+
out.close();
4244
}
4345

4446
@Override
4547
public String toString() {
46-
return eos.toString();
48+
return out.toString();
4749
}
4850

4951
}

src/main/java/ru/olegcherednik/zip4jvm/io/writers/ZipEntryWriter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void write(DataOutput out) throws IOException {
4646
EntryMetadataOutputStream emos = new EntryMetadataOutputStream(zipEntry, out);
4747
EncryptedEntryOutputStream eos = EncryptedEntryOutputStream.create(zipEntry, encoderDataOutput, emos);
4848

49-
FooOutputStream os = new FooOutputStream(eos);
49+
FooOutputStream os = new FooOutputStream(zipEntry, eos);
5050

5151
zipEntry.setDiskNo(out.getDiskNo());
5252

0 commit comments

Comments
 (0)