我正在尝试创建一个在特定文件夹中创建文件的webapps。这个应用程序应该在Windows和ubuntu上工作,但它们有不同的文件结构。那么如何在创建文件时提及路径并再次在Ubuntu中我还需要使用权限。如何授予我尝试创建文件的文件夹的权限。我正在使用java,这是我的代码:
//bfr=new BufferedReader(new InputStreamReader(System.in));
String fileName="/home/hemant/"+credentials[3];
String content=String.valueOf(n)+"\n"+messages.length;
File file=new File(fileName);
if(!file.exists()){
System.out.println("filecreated");
file.createNewFile();
}
我的应用是基于tomcat的应用。我该怎么办?我是新手,不知道。
答案 0 :(得分:0)
如果您使用的是servlet,可以使用此命令找到路径 -
String path = servletConfig.getServletContext().getRealPath("/WEB-INF")
它适用于Ubantu和WIndows。
答案 1 :(得分:0)
您可以通过以下方式检查部署webapp的操作系统:
System.getProperty("os.name");
您可以相应地创建文件。为了赋予文件权限,Java 7中提供了对文件属性的完全控制,作为" new"的一部分。新的IO设施(NIO.2)
或者您可以查看此链接以获取更多信息:http://www.mkyong.com/java/how-to-set-the-file-permission-in-java/
答案 2 :(得分:0)
您可以使用以下代码获取操作系统的信息:
public class OSValidator {
private static String OS = System.getProperty("os.name").toLowerCase();
public static void main(String[] args) {
System.out.println(OS);
if (isWindows()) {
System.out.println("This is Windows");
} else if (isMac()) {
System.out.println("This is Mac");
} else if (isUnix()) {
System.out.println("This is Unix or Linux");
} else if (isSolaris()) {
System.out.println("This is Solaris");
} else {
System.out.println("Your OS is not support!!");
}
}
public static boolean isWindows() {
return (OS.indexOf("win") >= 0);
}
public static boolean isMac() {
return (OS.indexOf("mac") >= 0);
}
public static boolean isUnix() {
return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 );
}
public static boolean isSolaris() {
return (OS.indexOf("sunos") >= 0);
}
}