Java File Stream

 

1.Write into the file

(1) FileWriter, BufferedWriter: write into file

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: write into file with specified charaset

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.read file

(1) FileReader, BufferedReader: read file

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: read file with specified charaset

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();