解决 Mac 和 Windows 之间的路径差异
Resolving Path Differences Between Mac and Windows
我是 Stack Overflow 的新手,也是编程的新手,所以希望这是有道理的。我正在编写一个 java 程序,它在特定目录中创建一个文件。我的程序适用于 Windows 并在正确的位置创建文件,但它不适用于 Mac。我曾尝试将反斜杠更改为单个正斜杠,但这不起作用。我应该如何更改代码以使其适用于 Mac 或两者都适用?我在下面放了一些代码。
提前致谢!
Class 为文件创建新路径:
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();
您可以使用系统属性来识别您当前正在运行的系统..
更多信息请访问 https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
但我更喜欢使用 NIO。但这是你的选择
https://docs.oracle.com/javase/tutorial/essential/io/fileio.html
我是 Stack Overflow 的新手,也是编程的新手,所以希望这是有道理的。我正在编写一个 java 程序,它在特定目录中创建一个文件。我的程序适用于 Windows 并在正确的位置创建文件,但它不适用于 Mac。我曾尝试将反斜杠更改为单个正斜杠,但这不起作用。我应该如何更改代码以使其适用于 Mac 或两者都适用?我在下面放了一些代码。
提前致谢!
Class 为文件创建新路径:
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();
您可以使用系统属性来识别您当前正在运行的系统.. 更多信息请访问 https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
但我更喜欢使用 NIO。但这是你的选择
https://docs.oracle.com/javase/tutorial/essential/io/fileio.html