`

File.separator

    博客分类:
  • java
阅读更多
在windows中的文件分隔符是 \ 和 /都可以

但是在Linux中,文件分隔符只能是/

所以用了\\的程序在Linux下会出问题。

而File.separator是系统默认的文件分割符号,屏蔽了这些系统的区别。

用File.separator保证了在任何系统下不会出错。



在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。



比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:
File file1 = new File ("C:\tmp\test.txt");

在Linux下则是这样的:
File file2 = new File ("/tmp/test.txt");


如果要考虑跨平台,则最好是这么写:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");


File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。
File.separator
分享到:
评论

相关推荐

    javaFile[归类].pdf

    File file = new File("d:" + File.separator + "demo.doc"); if (!file.exists()) { try { file.createNewFile(); System.out.println(" 文件创建成功!"); } catch (IOException e) { e.printStackTrace();...

    文件系统操作-自己写的

    File file = new File("D:" + File.separator + "Floder" + File.separator + "example.txt"); boolean created = file.createNewFile(); if (created) { System.out.println("文件创建成功!"); } else { System....

    tinkerDemo的两个apk可以安装试一下

    tinkerDemo简单的实现了热补丁,具体的还没尝试,安装上baseApk(app-debug-1019-15-16-03)之后,将patch_signed_7zip放置到Environment.getExternalStorageDirectory()+File.separator;+ "FixPath"+File.separator...

    android java.lang.IllegalArgumentException contains a path separator

    2. 使用`File.separator`常量代替硬编码的路径分隔符,以保证在不同操作系统上的兼容性。 3. 对路径进行校验,使用`PathUtils`等工具类来确保路径的有效性。 4. 当涉及到文件操作时,确保使用的是文件名而不是完整的...

    java删除文件夹代码

    把分降低吧 呵呵 boolean flag = false; File file = new File(path); if (!file.exists()) { ... if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); 部分代码显示

    Java中的IO整理完整版

    接着,案例2介绍了`File`类的两个常量:`File.separator`和`File.pathSeparator`。`File.separator`用于表示当前操作系统中的路径分隔符,例如在Windows上是`\`,在Linux或Mac上是`/`。`File.pathSeparator`则是用于...

    java中的IO操作总结(四)

    String path = File.separator + "home" + File.separator + "siu" + File.separator + "work" + File.separator + "demo.txt"; Person p1 = new Person("zhangsan",12); Person p2 = new Person("lisi",14);...

    java屏幕录像(包含鼠标轨迹)生成avi媒体文件

    new File(System.getProperty("user.home")+File.separator+"Videos"); 其它: new File(System.getProperty("user.home")+File.separator+"Movies"); 我的电脑是C:\Documents and Settings\hz001\Videos这个路径 ...

    pdfbox-2.0.7.jar

    String path=imgDir+File.separator; if(new File(path).exists()==false){ new File(path).mkdirs(); } ImageIO.write(image, "PNG", new File(imgDir+File.separator+i+".png")); }...

    9异常,系统属性,Math类.rar

     ●file.separator:文件分隔符,Windows环境下为“",Unix环境下为“/”;  ●user.home:用户主目录;  ●java.home:Java实时运行环境的安装目录;  ●java.ext.dirs:JDK的安装目录;  ●os.name:操作...

    java字节流和字符流[整理].pdf

    File file = new File("d:" + File.separator + "demo.txt"); // 使用追加模式创建FileOutputStream OutputStream out = new FileOutputStream(file, true); String s = "追加内容"; byte[] b = s.getBytes(); ...

    java文件复制

    temp=new File(oldPath+File.separator+file[i]); } if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(newPath + "/" + (temp....

    Java实现文件的压缩和解压

    File f = new File(outputDirectory + File.separator + zipEntry.getName()); f.createNewFile(); in = zipFile.getInputStream(zipEntry); out = new FileOutputStream(f); byte[] by = new byte...

    javaIo处理

    **运行结果**:与案例1相同,但路径使用了`File.separator`常量。 ##### 案例3:删除一个文件 ```java import java.io.File; class Hello { public static void main(String[] args) { String fileName = "D:" ...

    如何配置maven

    **如何配置Maven** Maven是一个强大的项目管理和构建工具,广泛应用于Java开发中。它简化了项目的构建过程,管理依赖关系,并提供了标准化的构建生命周期。下面是详细的Maven配置步骤: 1. **下载Maven** ...

    java压缩文件源码--ZipUtils

    FileOutputStream fos = new FileOutputStream(getFileName(file.getPath())+File.separator+newDir(file, entry.getName())); dest = new BufferedOutputStream(fos, BUFFER); while((count = zis...

    java 基础知识资料下载

    File file = new File("D:" + File.separator + "cs.txt"); if (file.exists()) { file.delete(); System.out.println("文件存在且已经删除"); } else { System.out.println("文件不存在"); } } } ``` - ...

    12.IO-intrudute.doc

    File file = new File(File.separator + "helo.txt"); System.out.println(file.createNewFile()); ``` 9. **递归操作**: 虽然示例中的递归方法`calc()`与文件I/O无关,但它展示了如何使用递归来解决问题。在...

    Java中实现复制文件或文件夹

    String sourceDirTemp = sourceDir + File.separator + file[i].getName(); String targetDirTemp = targetDir + File.separator + file[i].getName(); copyDirectiory(sourceDirTemp, targetDirTemp); } } } ...

    IO总结处理

    为了确保程序的可移植性,Java提供了`File.separator`常量来获取当前操作系统的路径分隔符,同时`File.pathSeparator`常量用来获取路径分隔符,如在Windows下用于分隔多个环境变量值时使用`;`。 示例代码如下: ``...

Global site tag (gtag.js) - Google Analytics