Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解决Mac和Windows之间的路径差异_Java_File_Path_Directory_Bufferedwriter - Fatal编程技术网

Java 解决Mac和Windows之间的路径差异

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()

我不熟悉堆栈溢出,也不太熟悉编程,所以希望这是有意义的。我正在编写一个java程序,在特定目录中创建一个文件。我的程序在Windows上工作,并在正确的位置创建文件,但在Mac上不工作。我尝试过将反斜杠改为一个正斜杠,但这不起作用。我应该如何更改代码,使其适用于Mac或理想情况下适用于两者?我把一些代码放在下面

提前谢谢

类创建文件的新路径:

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。但这是你的选择


使用系统属性非常有效。谢谢你的帮助!使用系统属性非常有效。谢谢你的帮助!