1、字符流读取单个字符
// 读取单个字符
@Test
public void test8() {
File file = new File("E:" + File.separatorChar + "IO文件" + File.separatorChar + "seecen.txt");
try(Reader read = new FileReader(file);){
// read():返回一个字符,如果达到文件末尾,返回一个-1
int data = -1;
while((data = read.read()) != -1){
System.out.println((char)data);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
2、字符流读取多个字符
// 读取多个字符
@Test
public void test9(){
File file = new File("E:" + File.separatorChar + "IO文件" + File.separatorChar + "seecen.txt");
try(Reader read = new FileReader(file);) {
char[] data = new char[5];
int len = -1;
while((len = read.read(data)) != -1){
String str = new String(data,0,len);
System.out.print(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
3、写入和读取文本
// 写入和读取文本
@Test
public void test10(){
File srcFile = new File("E:" + File.separatorChar + "IO文件" + File.separatorChar + "seecen.txt");
File destFile = new File("E:" + File.separatorChar +"IO文件" + File.separatorChar + "seecen1.txt");
try(Reader reader = new FileReader(srcFile);
Writer writer = new FileWriter(destFile,true)){
int len = -1;
char[] data = new char[10];
while((len = reader.read(data)) != -1){
writer.write(data,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}