- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在将 Eclipse 3.0 应用程序迁移到 4.4。用户数据过去并且仍然应该存储在文件夹C:\Users\username\AppData\Roaming\applicationname
应用程序使用以下代码来读取目录:
public static String getUserDirectory()
{
String directory = InternalPlatform.getDefault().getUserLocation().getFile();
return directory;
}
我知道该代码已被弃用,但以下代码返回相同的结果:
public static String getUserDirectory()
{
String directory = Platform.getUserLocation().getURL().getFile();
return directory;
}
它们都返回C:\Users\username\user
,但正如我所说,用户数据应该存储在C:\Users\username\AppData\Roaming\applicationname
>。这些方法的行为改变了吗?
我怎样才能意识到我将用户数据存储在C:\Users\username\AppData\Roaming\applicationname
下并且我的应用程序仍然可以找到该目录?
我知道这与我不完全理解的环境变量有关。
最佳答案
我手头没有 3.x 目标平台可供比较,但 C:\Users\username\user
看起来完全错误。
如果您对详细信息感兴趣,EquinoxLocations
的构造函数会计算 userLocation
并在未指定默认值的情况下将文字“user”添加到用户的主目录中。
因此,如果您使用 -user @user.home
或 -Dosgi.user.area=@user.home
启动应用程序,则会设置用户位置到C:\Users\用户名\
。仍然不是您想要的,但至少有一个合理的值(value)。
我认为这是 Equinox 中的一个错误,建议提交 bugzilla。如果事实证明这种方法有充分的理由,则错误条目仍将作为文档/推理。
同时您可以通过System.getenv( "APPDATA")
获取Windows上的主目录。根据this post它将返回漫游主目录。
关于java - Eclipse RCP : InternalPlatform. getDefault().getUserLocation() 不返回 C:\Users\用户名\AppData\Roaming,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353891/
我目前正在将 Eclipse 3.0 应用程序迁移到 4.4。用户数据过去并且仍然应该存储在文件夹C:\Users\username\AppData\Roaming\applicationname 应
我是一名优秀的程序员,十分优秀!