IO流
FileWriter写文件
简单示例
package top
.lovelc
.www
.IO
;
import java
.io
.FileWriter
;
import java
.io
.IOException
;
public class Demo01FileWriter {
public static void main(String
[] args
) throws IOException
{
FileWriter fw
= new FileWriter("1.txt");
String str
= "hello 小聂同学!";
fw
.write(str
);
fw
.close();
}
}
不同系统中的换行符
windows:\r\nmac:\r或者\nlinux:\n
FileWriter当中写数据的方法write有5中重载方式
package top
.lovelc
.www
.IO
;
import java
.io
.FileWriter
;
import java
.io
.IOException
;
public class Demo02FileWriter {
public static void main(String
[] args
) throws IOException
{
FileWriter fw
= new FileWriter("1.xt");
fw
.write(65);
fw
.write(66);
fw
.write(67);
fw
.write(48);
fw
.write(97);
fw
.write("\r\n");
fw
.write("Hello");
String str
= "Java";
fw
.write(str
);
fw
.write("\r\n");
fw
.write("123456789", 2, 5);
fw
.write("\r\n");
char[] array
= {'h', 'e', 'l', 'l', 'o', ' ', 'a', 'r', 'r', 'a', 'y'};
fw
.write(array
);
fw
.write("\r\n");
fw
.write(array
, 3, 5);
fw
.close();
}
}
FileReader读文件
package top
.lovelc
.www
.IO
.FileReader
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
public class Demo01FileReader {
public static void main(String
[] args
) throws IOException
{
FileReader fr
= new FileReader("airpm25.txt");
int x
;
while ((x
= fr
.read()) != -1) {
System
.out
.print((char) x
);
}
fr
.close();
}
}
package top
.lovelc
.www
.IO
.FileReader
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
public class Demo02FileReader {
public static void main(String
[] args
) throws IOException
{
FileReader fr
= new FileReader("airpm25.txt");
char[] buf
= new char[1024];
int len
;
String str
;
while ((len
= fr
.read(buf
)) != -1) {
str
= new String(buf
, 0, len
);
System
.out
.print(str
);
}
fr
.close();
}
}
BufferedWriter写文件
package top
.lovelc
.www
.IO
.BuffferedWriter
;
import java
.io
.BufferedWriter
;
import java
.io
.FileWriter
;
import java
.io
.IOException
;
public class Demo01BufferedWriter {
public static void main(String
[] args
) throws IOException
{
FileWriter fw
= new FileWriter("1.txt");
BufferedWriter bw
= new BufferedWriter(fw
);
bw
.write("hello");
bw
.close();
}
}
newLine()自动换行
package top
.lovelc
.www
.IO
.BuffferedWriter
;
import java
.io
.BufferedWriter
;
import java
.io
.FileWriter
;
import java
.io
.IOException
;
public class Demo02BufferedWriter {
public static void main(String
[] args
) throws IOException
{
FileWriter fw
= new FileWriter("1.txt");
BufferedWriter bw
= new BufferedWriter(fw
);
bw
.write("hello");
bw
.newLine();
bw
.write("小聂同学!");
bw
.close();
}
}
BufferedReader读文件
package top
.lovelc
.www
.IO
.BufferedReader
;
import java
.io
.BufferedReader
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
public class Demo01BufferedReader {
public static void main(String
[] args
) throws IOException
{
FileReader fr
= new FileReader("1.txt");
BufferedReader br
= new BufferedReader(fr
);
int len
;
char[] buf
= new char[1024];
while ((len
= br
.read(buf
)) != -1) {
System
.out
.println(buf
);
}
br
.close();
}
}
readLine()读取一行字符
package top
.lovelc
.www
.IO
.BufferedReader
;
import java
.io
.BufferedReader
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
public class Demo02ReadLine {
public static void main(String
[] args
) throws IOException
{
FileReader fr
= new FileReader("1.txt");
BufferedReader br
= new BufferedReader(fr
);
String str
;
while ((str
= br
.readLine()) != null
) {
System
.out
.println(str
);
}
br
.close();
}
}
练习
练习一
package top
.lovelc
.www
.IO
.Test
;
import java
.io
.BufferedWriter
;
import java
.io
.FileWriter
;
import java
.io
.IOException
;
import java
.util
.ArrayList
;
public class Demo01FromListToFile {
public static void main(String
[] args
) throws IOException
{
ArrayList
<String> list
= new ArrayList<>();
list
.add("hello");
list
.add("小聂同学!");
list
.add("你好");
list
.add("@刘小畅");
list
.add("哈哈");
BufferedWriter bw
= new BufferedWriter(new FileWriter("练习1.txt"));
for (int i
= 0; i
< list
.size(); i
++) {
bw
.write(list
.get(i
));
bw
.newLine();
}
bw
.close();
}
}
运行结果:
练习二
package top
.lovelc
.www
.IO
.Test
;
import java
.io
.BufferedReader
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
import java
.util
.ArrayList
;
public class Demo02FromFileToList {
public static void main(String
[] args
) throws IOException
{
ArrayList
<String> list
= new ArrayList<>();
BufferedReader br
= new BufferedReader(new FileReader("练习1.txt"));
String str
;
while ((str
= br
.readLine()) != null
) {
list
.add(str
);
}
br
.close();
System
.out
.println(list
);
}
}
运行结果
总结
1.IO流是用来传输数据的技术,典型应用包括读写文件。
2.IO流的分类
字节输入流字节输出流字符输入流:FileReader、BufferedReader字符输出流:FileWriter、BufferedWriter
3.FileWriter的一般使用步骤:创、写、关
FileWriter fw
= new FileWriter("file01.txt ");
fw
.write("hello");
fw
.close();
4.FileWriter如何才能追加写入?构造方法第二个参数为true即可。
5.如何实现换行?
window:\r\nmac:\r或者\nlinux:\n
6.五种write方法的重载:
写字符串的整体写字符串的部分写字符数组的整体写字符数组的部分写单个字符的部分写单个字符对应的数字(参考ASCII码表或者Unicode表)
7.FileReader一般使用步骤:创、读、关。
FileReater fr
= new FileReader("file01.txt");
int ch
;
while((ch
= fr
.read()) != -1){
}
char[] buf
= new char[1024];
int len
;
while((len
= fr
.read(buf
)) != -1){
String str
= new String(buf
,0,len
);
}
8.BufferedXXX和FileXXX有什么区别?BufferedXXX有8192长度的char[]字符数组作为缓冲,所以性能更加高一点。
9.BufferedWriter有额外的方法:public void newLine(),根据操作系统自动选择换行符。
10.BuffereReader有额外的方法:public String readLine(),读取一行字符串,不包含换行符。
11.关于方法的参数和返回值
任何数据类型(基本类型、数组、字符串、自定义的类)都可以作为参数。任何数据类型(基本类型、数组、字符串、自定义的类)都可以作为返回值。