Java IO操作

io操作是Java中重要的一部分,我们在实际开发当中经常会用到它,比如我们要读取某个文本文件的内容或者生成一个新的文件,这些都需要用到 java.io.File 这个类,下面我们就来举两个例子来简单了解一下。

通过FileWriter生成一个文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.imooc.ioc.test;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;

public class WriteAFile {
public static void main(String[] args) {
try {
// 获取当前类所在的目录
URL path = WriteAFile.class.getResource("/");
FileWriter fileWriter = new FileWriter(path.toString().substring(6) + "/Foo.txt");
fileWriter.write("hello foo!");
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

读取文本文件

String filePath = "D:\\Spring\\SpringImoocMaven\\target\\test-classes\\test.txt";
File file = new File(filePath);
try {
    FileReader fileReader = new FileReader(file);
    //InputStream inputStream = ReadFile.class.getResourceAsStream("/test.txt");
    //InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    String line = null;
    while ((line = bufferedReader.readLine()) != null) {
        System.out.println(line);
    }
    bufferedReader.close();
    //while (reader = fileReader.readline)
    } catch (java.io.IOException e) {
    e.printStackTrace();
}

以上代码实现了从文本文件中读取内容并输出到控制台上,我们使用File对象来表示文件,以FileReader来执行实际的读取,并用BufferedReader来让读取更有效率。
读取是以while循环来逐行进行,一直到readLine()的果为止。这是最常见的读取数据方式(几乎非序列化对象都是这样的):以while循环(实际上应该称为while循环测试)来读取,读到没有东西可以读取的时候停止(读取结果为null时停止读取)

要点

  1. 用FileWriter这个连接串流来写入文本文件。
  2. 将FileWriter链接到BufferedWriter可以提升效率
  3. File对象代表文件的路径而不是文件本身
  4. 你可以用File对象来创建、浏览和删除目录
  5. 用FileReader来读取文本文件。将FileReader链接到BufferedReader可以提升效率
显示评论