Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
ff2bca20
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ff2bca20
编写于
10月 08, 2013
作者:
A
alanb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8024788: (fs) Files.readAllBytes uses FileChannel which may not be supported by all providers
Reviewed-by: chegar
上级
4f1307a9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
5 deletion
+17
-5
src/share/classes/java/nio/file/Files.java
src/share/classes/java/nio/file/Files.java
+4
-4
test/java/nio/file/Files/BytesAndLines.java
test/java/nio/file/Files/BytesAndLines.java
+13
-1
未找到文件。
src/share/classes/java/nio/file/Files.java
浏览文件 @
ff2bca20
...
...
@@ -3082,13 +3082,13 @@ public final class Files {
* method is invoked to check read access to the file.
*/
public
static
byte
[]
readAllBytes
(
Path
path
)
throws
IOException
{
try
(
FileChannel
fc
=
FileChannel
.
open
(
path
);
InputStream
i
s
=
Channels
.
newInputStream
(
f
c
))
{
long
size
=
f
c
.
size
();
try
(
SeekableByteChannel
sbc
=
Files
.
newByteChannel
(
path
);
InputStream
i
n
=
Channels
.
newInputStream
(
sb
c
))
{
long
size
=
sb
c
.
size
();
if
(
size
>
(
long
)
MAX_BUFFER_SIZE
)
throw
new
OutOfMemoryError
(
"Required array size too large"
);
return
read
(
i
s
,
(
int
)
size
);
return
read
(
i
n
,
(
int
)
size
);
}
}
...
...
test/java/nio/file/Files/BytesAndLines.java
浏览文件 @
ff2bca20
...
...
@@ -22,7 +22,9 @@
*/
/* @test
* @bug 7006126 8020669
* @bug 7006126 8020669 8024788
* @build BytesAndLines PassThroughFileSystem
* @run main BytesAndLines
* @summary Unit test for methods for Files readAllBytes, readAllLines and
* and write methods.
*/
...
...
@@ -92,6 +94,16 @@ public class BytesAndLines {
byte
[]
data
=
Files
.
readAllBytes
(
pathStat
);
assertTrue
(
data
.
length
>
0
,
"Files.readAllBytes('"
+
statFile
+
"') failed to read"
);
}
// test readAllBytes on custom file system
Path
myfile
=
PassThroughFileSystem
.
create
().
getPath
(
file
.
toString
());
for
(
int
size
=
0
;
size
<=
1024
;
size
+=
512
)
{
byte
[]
b1
=
new
byte
[
size
];
rand
.
nextBytes
(
b1
);
Files
.
write
(
myfile
,
b1
);
byte
[]
b2
=
Files
.
readAllBytes
(
myfile
);
assertTrue
(
Arrays
.
equals
(
b1
,
b2
),
"bytes not equal"
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录