Java 解决Mac和Windows之间的路径差异
我不熟悉堆栈溢出,也不太熟悉编程,所以希望这是有意义的。我正在编写一个java程序,在特定目录中创建一个文件。我的程序在Windows上工作,并在正确的位置创建文件,但在Mac上不工作。我尝试过将反斜杠改为一个正斜杠,但这不起作用。我应该如何更改代码,使其适用于Mac或理想情况下适用于两者?我把一些代码放在下面 提前谢谢 类创建文件的新路径:Java 解决Mac和Windows之间的路径差异,java,file,path,directory,bufferedwriter,Java,File,Path,Directory,Bufferedwriter,我不熟悉堆栈溢出,也不太熟悉编程,所以希望这是有意义的。我正在编写一个java程序,在特定目录中创建一个文件。我的程序在Windows上工作,并在正确的位置创建文件,但在Mac上不工作。我尝试过将反斜杠改为一个正斜杠,但这不起作用。我应该如何更改代码,使其适用于Mac或理想情况下适用于两者?我把一些代码放在下面 提前谢谢 类创建文件的新路径: try{ //Create file path String dirpath = new ReWriterRunner()
try{
//Create file path
String dirpath = new ReWriterRunner().getPath()+"NewFiles";
//Create directory if it doesn't exist
File path = new File(dirpath);
if (!path.exists()) {
path.mkdir();
}
//Create file if it doesn't exist
File readme = new File(dirpath+"\\README.md");
if (!readme.exists()) {
readme.createNewFile();
}
获取用户输入文件放置位置的方法:
public static String getPath(){
String s;
Scanner in = new Scanner(System.in);
System.out.println("Enter the directory name under which the project files are stored.");
System.out.println("Example: C:\\Users\\user\\work\\jhipstertesting)");
System.out.println("Use double slashes when typing.");
s = in.nextLine();
return s;
}
必须使用正斜杠“/”获取此处的文件路径。例如,使用:
File f = new File("/Users/pavankumar/Desktop/Testing/Java.txt");
f.createNewFile();
必须使用正斜杠“/”获取此处的文件路径。例如,使用:
File f = new File("/Users/pavankumar/Desktop/Testing/Java.txt");
f.createNewFile();
您可以使用系统属性来标识当前正在操作的系统。。 更多信息请访问 但是我更喜欢使用NIO。但这是你的选择
您可以使用系统属性来标识当前正在操作的系统。。 更多信息请访问 但是我更喜欢使用NIO。但这是你的选择
使用系统属性非常有效。谢谢你的帮助!使用系统属性非常有效。谢谢你的帮助!