今天体会到一个陷阱,刚开始还觉得是JDK的bug呢,呵呵。
是这样的,有File的createNewFile方法是,在Windows系统上可以创建成功,而在Linux不行了,第一感觉是JDK的bug,而且只会在Linux上出现的取决于。
原来一番实验后,发现原来我Windows系统上已经有父目录了,而Linux上没有,这样一来,Linux上肯定会失败了。
写下来记在这里。
实验代码如下:
public static void main(String[] args) throws IOException {
String filePath = "."+File.separator +"farParentfile" + File.separator + "parentFile"+File.separator + "test.jsp";
File file = new File(filePath);
if (!file.getParentFile().exists()) {
if (!file.getParentFile().mkdirs()) {
}
}
if(!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("exist: " +file.exists() );
System.out.println("path: " + file.getCanonicalPath());
}
分享到:
相关推荐
在Android开发中,`File`类是用于处理文件和目录的核心工具,它是Java `java.io.File`类的一个实例。这个类提供了与操作系统无关的方式来表示文件和目录路径,并且提供了多种方法来操作这些路径对应的文件。下面我们...
- `boolean isFile()`:检查当前File对象是否表示一个存在的文件,如果是则返回true,否则返回false。 - `boolean isHidden()`:检查文件或目录是否是隐藏的,如果是则返回true,否则返回false。 4. **其他File类...
首先,通过`new File(path)`构造函数创建一个`File`对象,其中`path`是文件的路径。然后,调用`exists()`方法检查文件是否存在,如果不存在,再调用`createNewFile()`创建文件。注意,`separator`常量用于获取系统...
使用`File`类的构造函数可以创建一个`File`对象,这并不实际创建文件,而是创建一个文件路径的引用。实际创建文件需要调用`createNewFile()`方法。例如: ```java File file = new File("test.txt"); if (!file....
Java 语言中的File类是Java.io包下的一个核心类,它是用来操作文件和目录的工具类。File类提供了丰富的API,使得程序员可以方便地进行文件的创建、删除、重命名、属性读取等一系列操作。在Java中,一切皆对象,File...
在Java编程语言中,File类是一个非常重要的类,它位于java.io包中,用于表示与平台无关的文件和目录路径名。通过对File类的学习,我们可以更好地了解如何在Java程序中进行文件操作。本文将总结Java中File类对文件...
- `createNewFile()`:创建一个新的空文件。如果文件已存在,该方法将返回`false`。 - `mkdir()`:创建一个单级目录。如果需要创建多级目录,可以使用`mkdirs()`。 3. 文件属性: - `exists()`:检查文件或目录...
在进行文件操作时,我们还需要注意权限问题,Java的File类并不能处理操作系统级别的权限控制。此外,对于目录操作,mkdir()只能创建单层目录,而mkdirs()能递归创建多层目录结构。 **文件路径的处理:** File类提供...
2. **File(String parent, String child)**: 这种方式是根据一个父目录和一个子文件/目录名称创建 `File` 对象。例如: ```java File File02 = new File("F:\\javaseDemo01", "File01.txt"); ``` 3. **File(File...
`File`类可以通过传递一个路径名字符串来实例化,如下所示: ```java File file = new File("F:\\cc.doc"); ``` ### 文件操作 - **创建文件**:`createNewFile()`方法用于创建一个新的文件,但不会创建父目录。在...
- **File类**:File类是Java.io包中的一个基础类,用于表示文件和目录路径名的抽象表示。在Android中,我们同样可以使用这个类来操作文件。 - **内部存储**:Android设备上的内部存储空间是私有的,只能被应用本身...
创建一个`File`对象并不实际创建文件,它只是表示一个文件或目录的路径。例如: ```java File file = new File("example.txt"); ``` 这将创建一个指向名为"example.txt"的文件的`File`对象。 2. **判断文件或...
首先,`File`类的构造函数允许我们创建一个`File`对象,它代表了指定的路径。例如: ```java File file = new File("C:/Users/username/Documents/test.txt"); ``` 这行代码创建了一个`File`对象,表示名为“test....
File类在Java中扮演着...总的来说,File类提供了一个强大而全面的接口来处理文件系统操作,但并不涉及文件内容的读写,这需要配合输入/输出流来完成。在实际编程中,熟练掌握File类的使用对于管理文件和目录至关重要。
首先,`File`类的构造函数可以接受一个字符串参数,该字符串表示文件或目录的路径。例如: ```java File file = new File("C:\\Users\\User\\Documents\\example.txt"); ``` 创建`File`对象后,我们可以调用其方法...
它是Java.io.File类的一个子类,但在Android环境中,有一些特定的注意事项和最佳实践。以下是对`File`类在Android中的使用进行的详细说明。 ### 文件操作基础 1. **创建文件**:使用`File`类的构造函数创建一个`...
创建`File`对象时,我们通常传递一个字符串参数,该参数可以是文件路径或目录路径。例如: ```java File file = new File("C:/Users/username/Documents/example.txt"); ``` 2. **文件的基本操作** - **创建...
`File`对象代表了操作系统中的一个文件或者目录,它提供了丰富的静态和实例方法来处理文件和目录。下面将详细介绍`File`类的一些主要功能和常见用法。 1. **构造方法**: - `File(String path)`:根据给定的路径...
- **创建文件**:通过`createNewFile()`方法可以创建一个新的空文件,但需注意该方法不会创建路径中的目录。 - **删除文件**:使用`delete()`方法可删除文件,但删除的文件必须是存在的且可删除的。 - **重命名/...