1.Java 文件流

 

1.Java 向文件写入内容

(1) 使用 FileWriter, BufferedWriter

1
2
3
4
5
6
7
8
9
10
11
12
File file = new File(fileDir, fileName);    // fileDir(File), fileName(String)
if(!file.exists()) {
file.createNewFile();
}

FileWriter fileWriter = new FileWriter(file, true); // append = true
BufferedWriter bufferWriter = new BufferedWriter(fileWriter);
bufferWriter.write(content); // content(String)

bufferWriter.flush();
bufferWriter.close();
fileWriter.close();

(2) 使用 FileOutputStream, OutputStreamWriter, BufferedWriter,以指定字符编码向文件写入内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
File file = new File(fileDir, fileName);    // fileDir(File), fileName(String)
if(!file.exists()) {
file.createNewFile();
}

FileOutputStream fileOutputStream = new FileOutputStream(file);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);

bufferedWriter.write(content); // content(String)

bufferedWriter.flush();
bufferedWriter.close();
outputStreamWriter.close();
fileOutputStream.close();

2.Java 从文件读取内容

(1) 使用 FileReader, BufferedReader

1
2
3
4
5
6
7
8
9
10
11
12
File file = new File(filePath); // filePath(String)

FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);

String line = bufferedReader.readLine();
while(line != null) {
line = bufferedReader.readLine();
}

bufferedReader.close();
fileReader.close();

(2) 使用 FileInputStream, InputStreamReader, BufferedReader,以指定字符编码从文件中读取内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
File file = new File(filePath); // filePath(String)

FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String line = bufferedReader.readLine();
while(line != null) {
line = bufferedReader.readLine();
}

bufferedReader.close();
inputStreamReader.close();
fileInputStream.close();