FileReaderDemo
package com.chario;
//FileReader
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import com.utils.StreamClose;
public class FileReaderDemo {
public static void main(String[] args) {
File file = new File("E:\\test\\a.txt");
// 读取
System.out.println(read(file));
}
private static String read(File file) {
StringBuffer sb=new StringBuffer();
FileReader reader = null;
try {
// 每次读取一部分,存入字符数组中
reader = new FileReader(file);
int len = 0;
char[] buf = new char[10];
while ((len = reader.read(buf)) != -1) {
sb.append(new String(buf,0,len));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
StreamClose.readerClose(reader);
}
return sb.toString();
}
}
FIleReader && FileWriter 读写文件
package com.chario;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import com.utils.StreamClose;
//FIleReader && FileWriter 读写文件
public class FileWriterDemo {
public static void main(String[] args) {
// FileReader 读取
// FileWriter 写出字符
File source = new File("E:\\test\\Demo.java");
File targerDir = new File("E:\\copy");
copyByReader(source, targerDir);
}
private static void copyByReader(File source, File targerDir) {
if (!targerDir.exists()) {
targerDir.mkdirs();
}
Reader reader = null;
Writer writer = null;
// 创建reader和writer
try {
reader = new FileReader(source);
writer = new FileWriter(new File(targerDir,source.getName()));
// 一边读 一边写
int len = 0;
char[] buf = new char[100];
while ((len = reader.read(buf)) != -1) {
writer.write(buf, 0, len);
}
// 刷新缓冲区
writer.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
StreamClose.readerClose(reader);
StreamClose.writerClose(writer);
}
}
}
BufferReaderDemo
package com.chario;
import java.io.*;
import com.utils.StreamClose;
/**
* BufferedReader && BufferedWriter
*
* @author Administrator
*
*/
public class BufferReaderDemo {
public static void main(String[] args) {
// FileReader 读取
// FileWriter 写出字符
File source = new File("E:\\test\\Demo.java");
File targerDir = new File("E:\\copy");
copyByReader(source, targerDir);
}
private static void copyByReader(File source, File targerDir) {
if (!targerDir.exists()) {
targerDir.mkdirs();
}
BufferedReader reader = null;
BufferedWriter writer = null;
// 创建reader和writer
try {
reader = new BufferedReader(new FileReader(source));
writer = new BufferedWriter(new FileWriter(new File(targerDir,
source.getName())));
// 读一行 写一行
/*
String line = "";
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
// 刷新缓冲区
//writer.println(line);
}
*/
// (2)一边读,一边写
int len = 0;
char[] cbuf = new char[100];
while ((len = reader.read(cbuf)) != -1) {
writer.write(cbuf, 0, len);
}
writer.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
StreamClose.readerClose(reader);
StreamClose.writerClose(writer);
}
}
}
WriterDemo 把字符串写入文件
package com.chario;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import com.utils.StreamClose;
public class WriterDemo {
public static void main(String[] args) {
FileWriter writer=null;
try {
writer = new FileWriter(new File("E:\\test\\text.txt"));
writer.write("今天天气不错哟");
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
StreamClose.writerClose(writer);
}
}
}
InputStreamReaderDemo
package com.chario;
import java.io.*;
public class InputStreamReaderDemo {
public static void main(String[] args) {
//编码:字符流不能指定编码格式
FileInputStream fis=null;
//字节流
BufferedReader br=null;
try {
fis=new FileInputStream("E:\\test\\a.txt");
//字节--》字符
InputStreamReader isr=new InputStreamReader(fis,"UTF-8");
br=new BufferedReader(isr);
String line="";
while((line=br.readLine())!=null){
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}