Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
93bc507b
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
93bc507b
编写于
8月 06, 2019
作者:
A
andrew
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
79a8928b
bec9768b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
12 deletion
+27
-12
test/java/util/zip/ZipFile/MultiThreadedReadTest.java
test/java/util/zip/ZipFile/MultiThreadedReadTest.java
+27
-12
未找到文件。
test/java/util/zip/ZipFile/MultiThreadedReadTest.java
浏览文件 @
93bc507b
...
@@ -29,11 +29,13 @@
...
@@ -29,11 +29,13 @@
* @run main MultiThreadedReadTest
* @run main MultiThreadedReadTest
*/
*/
import
java.io.BufferedOutputStream
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.FileOutputStream
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.nio.file.Paths
;
import
java.nio.file.Paths
;
import
java.util.Random
;
import
java.util.Random
;
import
java.util.zip.CRC32
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipFile
;
import
java.util.zip.ZipFile
;
import
java.util.zip.ZipOutputStream
;
import
java.util.zip.ZipOutputStream
;
...
@@ -42,7 +44,8 @@ import jdk.testlibrary.FileUtils;
...
@@ -42,7 +44,8 @@ import jdk.testlibrary.FileUtils;
public
class
MultiThreadedReadTest
extends
Thread
{
public
class
MultiThreadedReadTest
extends
Thread
{
private
static
final
int
NUM_THREADS
=
10
;
private
static
final
int
NUM_THREADS
=
10
;
private
static
final
String
ZIPFILE_NAME
=
"large.zip"
;
private
static
final
String
ZIPFILE_NAME
=
System
.
currentTimeMillis
()
+
"-bug8038491-tmp.large.zip"
;
private
static
final
String
ZIPENTRY_NAME
=
"random.txt"
;
private
static
final
String
ZIPENTRY_NAME
=
"random.txt"
;
private
static
InputStream
is
=
null
;
private
static
InputStream
is
=
null
;
...
@@ -61,23 +64,34 @@ public class MultiThreadedReadTest extends Thread {
...
@@ -61,23 +64,34 @@ public class MultiThreadedReadTest extends Thread {
threadArray
[
i
].
join
();
threadArray
[
i
].
join
();
}
}
}
finally
{
}
finally
{
long
t
=
System
.
currentTimeMillis
();
FileUtils
.
deleteFileIfExistsWithRetry
(
Paths
.
get
(
ZIPFILE_NAME
));
FileUtils
.
deleteFileIfExistsWithRetry
(
Paths
.
get
(
ZIPFILE_NAME
));
System
.
out
.
println
(
"Deleting zip file took:"
+
(
System
.
currentTimeMillis
()
-
t
)
+
"ms"
);
}
}
}
}
private
static
void
createZipFile
()
throws
Exception
{
private
static
void
createZipFile
()
throws
Exception
{
try
(
ZipOutputStream
zos
=
CRC32
crc32
=
new
CRC32
();
new
ZipOutputStream
(
new
FileOutputStream
(
ZIPFILE_NAME
)))
{
long
t
=
System
.
currentTimeMillis
();
File
zipFile
=
new
File
(
ZIPFILE_NAME
);
zos
.
putNextEntry
(
new
ZipEntry
(
ZIPENTRY_NAME
));
try
(
FileOutputStream
fos
=
new
FileOutputStream
(
zipFile
);
StringBuilder
sb
=
new
StringBuilder
();
BufferedOutputStream
bos
=
new
BufferedOutputStream
(
fos
);
Random
rnd
=
new
Random
();
ZipOutputStream
zos
=
new
ZipOutputStream
(
bos
))
{
for
(
int
i
=
0
;
i
<
1000
;
i
++)
{
ZipEntry
e
=
new
ZipEntry
(
ZIPENTRY_NAME
);
// append some random string for ZipEntry
e
.
setMethod
(
ZipEntry
.
STORED
);
sb
.
append
(
Long
.
toString
(
rnd
.
nextLong
()));
StringBuilder
blahBuilder
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
10_000
;
i
++)
{
blahBuilder
.
append
(
"BLAH"
);
}
}
byte
[]
b
=
sb
.
toString
().
getBytes
();
byte
[]
toWrite
=
blahBuilder
.
toString
().
getBytes
();
zos
.
write
(
b
,
0
,
b
.
length
);
e
.
setTime
(
t
);
e
.
setSize
(
toWrite
.
length
);
crc32
.
reset
();
crc32
.
update
(
toWrite
);
e
.
setCrc
(
crc32
.
getValue
());
zos
.
putNextEntry
(
e
);
zos
.
write
(
toWrite
);
}
}
}
}
...
@@ -86,6 +100,7 @@ public class MultiThreadedReadTest extends Thread {
...
@@ -86,6 +100,7 @@ public class MultiThreadedReadTest extends Thread {
try
{
try
{
while
(
is
.
read
()
!=
-
1
)
{
}
while
(
is
.
read
()
!=
-
1
)
{
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"read exception:"
+
e
);
// Swallow any Exceptions (which are expected) - we're only interested in the crash
// Swallow any Exceptions (which are expected) - we're only interested in the crash
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录