Java(八)--文件I/O

2017-10-20  本文已影响0人  五秋木
  1. File类不包含读写文件内容的方法。封装了文件或者路径的属性。不包括创建文件和读写
  2. import java.io.File;
  3. 类中的方法:
import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileTest {
   public static void main(String[] args)  throws IOException {
       File file1 = new File("D:\\Git\\test\\hello.cpp");    //创建对象,并不创建文件
       File file2 = new File("D:/Git/test/test_2.txt");      //斜杠可以,反斜杠需要两个,windows下目录表示用一个反斜杠。
       File directory = new File("D:/Git/test");
     //File file3 = new File("../Calculator.java");     //不能这样表示
       File file3 = new File("src/chapter_9/Calculator1.java");  //当前目录是java_learning,相对路径的起始处无斜杆"/"
       File file4 = new File("D:/Git/test/1212.txt");
           System.out.println(file1.exists());      //文件判断是否存在
           System.out.println(file1.canRead());      //是否可读
           System.out.println(file1.canWrite());     //是否可写
           System.out.println(file2.isFile());       //是否是文件
           System.out.println(file2.isDirectory());   //是否是目录
           System.out.println(directory.exists());   //目录是否存在
           System.out.println(directory.isDirectory());  //是否是目录
           System.out.println(file1.isAbsolute());   //是否绝对路径
           System.out.println(file3.exists());     //存在?   -->false-->java中文件相对路径的表示:找项目空间project
           System.out.println(file3.isAbsolute());   //绝对路径?false
           System.out.println(file3.isHidden());
           System.out.println(file3.getAbsolutePath());   //返回绝对路径
           System.out.println(file3.getCanonicalPath());   //出错,原因:在main函数后添加throws IOException,
                                                           //并导入类import java.io.IOException;
           System.out.println(file3.getPath());   //返回从项目空间开始的路径,相对路径
           System.out.println(file1.getName());     //返回文件名
           System.out.println(directory.getName());  //返回文件夹名
           System.out.println(file1.getParent());   //父目录
           System.out.println(new Date(file1.lastModified())); //返回具体的修改时间,而不是long型。
           System.out.println(file1.length());   //文件大小:70字节
           System.out.println(directory.length());   //返回目录大小
           System.out.println(directory.listFiles());
          // System.out.println(file4.delete());   //删除该文件
           System.out.println(file4.renameTo(file3)); 
           //a.txt重命名为b.txt.
           //在重命名前,如果已存在b.txt,则重命名不会成功,方法执行结果返回false
           //必须确保目标文件在重命名之前不存在,才有可能成功
           //重命名后:文件转到了file3所在的文件夹
}
}
  1. Java I/O类
    向文件中写数据:java.io.PrintWriter
   public static void main(String[] args) throws Exception{
    File file = new File("scores.txt");
    if(file.exists()){
        System.out.println("File already exists"); //若已存在,则会删除文件中所有内容。
        System.exit(0);
    }
    //creat a file
    PrintWriter output = new PrintWriter(file);  //创建文件所在位置在当前工作目录下:java_learning下
    output.print("hello world John T Smith");   //向文件中写内容
    output.println(90);   
    output.println(80);
    output.close();

向文件中读数据:Scanner:java.util.Scanner
Scanner input = new Scanner(file object);
直接这样写会出错,改正:在main后throws Exception即可。

在文件中有内容:34 567
int intValue = input.nextInt();  //内容:34
String line = input.nextLine();   //内容:" 567",第一位是空格。
上一篇 下一篇

猜你喜欢

热点阅读