Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3faaeb9

Browse files
committed
Add zip file snippet
1 parent230ab06 commit3faaeb9

File tree

3 files changed

+66
-2
lines changed

3 files changed

+66
-2
lines changed

‎README.md‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Update the sample application with the snippet and add a test for it. After prov
1818
*[List files in directory](#list-files-in-directory)
1919
*[List files in directory recursively](#list-files-in-directory-recursively)
2020
*[Read lines from file to string list](#read-lines-from-file-to-string-list)
21+
*[Zip file](#zip-file)
2122

2223
###Math
2324
*[Factorial](#factorial)
@@ -119,6 +120,29 @@ Update the sample application with the snippet and add a test for it. After prov
119120

120121
[⬆ back to top](#table-of-contents)
121122

123+
###Zip file
124+
125+
```java
126+
publicstaticvoid zipFile(String srcFilename,String zipFilename) throwsIOException {
127+
File srcFile=newFile(srcFilename);
128+
try (
129+
FileOutputStream fileOut=newFileOutputStream(zipFilename);
130+
ZipOutputStream zipOut=newZipOutputStream(fileOut);
131+
FileInputStream fileIn=newFileInputStream(srcFile);
132+
) {
133+
ZipEntry zipEntry=newZipEntry(srcFile.getName());
134+
zipOut.putNextEntry(zipEntry);
135+
finalbyte[] bytes=newbyte[1024];
136+
int length;
137+
while ((length= fileIn.read(bytes))>=0) {
138+
zipOut.write(bytes,0, length);
139+
}
140+
}
141+
}
142+
```
143+
144+
[⬆ back to top](#table-of-contents)
145+
122146
##Math
123147

124148
###Fibonacci

‎src/main/java/Library.java‎

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
importjavax.imageio.ImageIO;
22
importjava.awt.*;
33
importjava.awt.image.BufferedImage;
4-
importjava.io.File;
5-
importjava.io.IOException;
4+
importjava.io.*;
65
importjava.nio.file.Files;
76
importjava.text.ParseException;
87
importjava.text.SimpleDateFormat;
98
importjava.util.*;
109
importjava.util.List;
10+
importjava.util.zip.ZipEntry;
11+
importjava.util.zip.ZipOutputStream;
1112

1213
/*
1314
* Java Snippets code
@@ -192,4 +193,27 @@ public static Integer[] performLottery(int numNumbers, int numbersToPick) {
192193
Collections.shuffle(numbers);
193194
returnnumbers.subList(0,numbersToPick).toArray(newInteger[numbersToPick]);
194195
}
196+
197+
/**
198+
* Zip single file
199+
* @param srcFilename the filename of the source file
200+
* @param zipFilename the filename of the destination zip file
201+
* @throws IOException
202+
*/
203+
publicstaticvoidzipFile(StringsrcFilename,StringzipFilename)throwsIOException {
204+
FilesrcFile =newFile(srcFilename);
205+
try (
206+
FileOutputStreamfileOut =newFileOutputStream(zipFilename);
207+
ZipOutputStreamzipOut =newZipOutputStream(fileOut);
208+
FileInputStreamfileIn =newFileInputStream(srcFile);
209+
) {
210+
ZipEntryzipEntry =newZipEntry(srcFile.getName());
211+
zipOut.putNextEntry(zipEntry);
212+
finalbyte[]bytes =newbyte[1024];
213+
intlength;
214+
while ((length =fileIn.read(bytes)) >=0) {
215+
zipOut.write(bytes,0,length);
216+
}
217+
}
218+
}
195219
}

‎src/test/java/LibraryTest.java‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
importjava.io.File;
55
importjava.io.IOException;
66
importjava.nio.file.Files;
7+
importjava.nio.file.Paths;
78
importjava.text.ParseException;
89
importjava.util.Arrays;
910
importjava.util.Calendar;
@@ -196,4 +197,19 @@ public void testPerformLottery() {
196197
assertTrue(numbers2[0] ==1 ||numbers2[0] ==2);
197198
assertTrue(numbers2[1] ==1 ||numbers2[1] ==2);
198199
}
200+
201+
/**
202+
* Tests for {@link Library#zipFile(String, String)}
203+
*/
204+
@Test
205+
publicvoidtestZipFile()throwsIOException {
206+
finalStringsrc ="src/test/resources/somelines.txt";
207+
finalStringdst ="src/test/resources/somelines.zip";
208+
try {
209+
Library.zipFile(src,dst);
210+
assertTrue(Files.exists(Paths.get(dst)));
211+
}finally {
212+
Files.deleteIfExists(newFile(dst).toPath());
213+
}
214+
}
199215
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp