Java的IO前奏曲:文件操作类之___File
- 在java.io包里面,File类是唯一一个与文件本身操作有关的类,但是不会涉及到文件本身的具体内容(包括文件创建,删除等操作)
代码中的注释有详细说明:
package cn.dujiang.demo;
import java.io.File;
/**
* 1、创建文件:file.createNewFile()
* public class TestDemo {
public static void main(String[] args) throws Exception {//此处直接抛出
File file = new File("F:\test.text") ;
System.out.println(file.createNewFile());
}
}
++++++++++++++++++++++++++++++++++
以上代码还是会报错:
Exception in thread "main" java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1012)
at cn.dujiang.demo.TestDemo.main(TestDemo.java:12)
错误原因:File file = new File("F:\test.text") ;// “\t”是制表符应该改为“\\t”
* @author Dujiang
*
*File file = new File("F:" + File.separator +"test.text") ;
*上面那句话用到了File.separator替代了“\\”:File file = new File("F:\\test.text") ;
*/
public class TestDemo {
public static void main(String[] args) throws Exception {//此处直接抛出
File file = new File("F:" + File.separator +"test.text") ;
/**
* 下面的操作能进行文件的创建与删除,但是此时的程序会存在有两个问题:
* 1、在Windows系统下支持的是“\”路径分隔符,但在Linux下使用的是“/”路径分隔符
* |-在File类里面提供有一个常量: public static final String separator ;
* 2、在进行java.io操作之中,会出现有延迟情况 ,因为Java程序是通过JVM间接调用操作系统文件函数处理文件操作
* 所以中间会有延迟
*/
if (file.exists()) { //现在文件存在
file.delete();
}else{ //否则文件不存在,进行文件的创建
System.out.println(file.createNewFile());
}
}
}
打开App,阅读手记