如何在Grails中找到任意用户的主目录?在Linux上它通常是/ home/user.但是,在某些操作系统上,例如OpenSolaris,路径为/ export/home/user.
通常你使用该语句
String userHome = System.getProperty( "user.home" );
在任何平台上获取用户的主目录.请参阅getProperty的方法文档,了解您还可以获得的其他内容.
使用此解决方法可能存在您可能希望避免的访问问题(使用安全策略文件)
对于类UNIX系统,您可能希望echo ~username
使用shell 执行" "(因此用于Runtime.exec()
运行{"/bin/sh", "-c", "echo ~username"}
).
在Java上试试这个:
System.out.println("OS: " + System.getProperty("os.name") + ", USER DIRECTORY: " + System.getProperty("user.home"));
对于任意用户,作为网络服务器:
private String getUserHome(String userName) throws IOException{ return new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(new String[]{"sh", "-c", "echo ~" + userName}).getInputStream())).readLine(); }