Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
554f8842
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看板
提交
554f8842
编写于
6月 05, 2008
作者:
A
alanb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
4939819: File.canWrite() returns false for the "My Documents" directory (win)
Reviewed-by: iris
上级
ae942eac
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
15 deletion
+25
-15
src/windows/native/java/io/WinNTFileSystem_md.c
src/windows/native/java/io/WinNTFileSystem_md.c
+15
-12
test/java/io/File/SetReadOnly.java
test/java/io/File/SetReadOnly.java
+10
-3
未找到文件。
src/windows/native/java/io/WinNTFileSystem_md.c
浏览文件 @
554f8842
...
...
@@ -229,26 +229,29 @@ JNIEXPORT jboolean
JNICALL
Java_java_io_WinNTFileSystem_checkAccess
(
JNIEnv
*
env
,
jobject
this
,
jobject
file
,
jint
access
)
{
jboolean
rv
=
JNI_FALSE
;
int
mode
;
DWORD
attr
;
WCHAR
*
pathbuf
=
fileToNTPath
(
env
,
file
,
ids
.
path
);
if
(
pathbuf
==
NULL
)
return
JNI_FALSE
;
attr
=
GetFileAttributesW
(
pathbuf
);
free
(
pathbuf
);
if
(
attr
==
INVALID_FILE_ATTRIBUTES
)
return
JNI_FALSE
;
switch
(
access
)
{
case
java_io_FileSystem_ACCESS_READ
:
case
java_io_FileSystem_ACCESS_EXECUTE
:
mode
=
4
;
break
;
return
JNI_TRUE
;
case
java_io_FileSystem_ACCESS_WRITE
:
mode
=
2
;
break
;
default:
assert
(
0
);
}
if
(
_waccess
(
pathbuf
,
mode
)
==
0
)
{
rv
=
JNI_TRUE
;
/* Read-only attribute ignored on directories */
if
((
attr
&
FILE_ATTRIBUTE_DIRECTORY
)
||
(
attr
&
FILE_ATTRIBUTE_READONLY
)
==
0
)
return
JNI_TRUE
;
else
return
JNI_FALSE
;
default:
assert
(
0
);
return
JNI_FALSE
;
}
free
(
pathbuf
);
return
rv
;
}
JNIEXPORT
jboolean
JNICALL
...
...
test/java/io/File/SetReadOnly.java
浏览文件 @
554f8842
...
...
@@ -22,7 +22,7 @@
*/
/* @test
@bug 4091757
@bug 4091757
4939819
@summary Basic test for setReadOnly method
*/
...
...
@@ -59,8 +59,15 @@ public class SetReadOnly {
throw
new
Exception
(
f
+
": Cannot create directory"
);
if
(!
f
.
setReadOnly
())
throw
new
Exception
(
f
+
": Failed on directory"
);
if
(
f
.
canWrite
())
throw
new
Exception
(
f
+
": Directory is writeable"
);
// The readonly attribute on Windows does not make a folder read-only
if
(
System
.
getProperty
(
"os.name"
).
startsWith
(
"Windows"
))
{
if
(!
f
.
canWrite
())
throw
new
Exception
(
f
+
": Directory is not writeable"
);
}
else
{
if
(
f
.
canWrite
())
throw
new
Exception
(
f
+
": Directory is writeable"
);
}
if
(!
f
.
delete
())
throw
new
Exception
(
f
+
": Cannot delete directory"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录