FileWriter:
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterDemo {
private static final String Line_SEPARATOR = System.getProperty("line.separator");
public static void main(String[] args) {
FileWriter writer=null;
try {
writer=new FileWriter("F:\\filewriter.txt",true);//true表示续写
writer.write("第一行"+Line_SEPARATOR+"第二行");//Line_SEPARATOR换行
} catch (IOException e) {
e.printStackTrace();
}finally{
if(writer!=null){
try {
writer.close();
} catch (IOException e) {
throw new RuntimeException("关闭失败");
}
}
}
}
}
FileReader:
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo {
public static void main(String[] args) {
FileReader reader=null;
try {
reader=new FileReader("F:\\filewriter.txt");
char [] buf=new char[1024];//将读取到的内容存到数组中
int len=0;
try {
while((len=reader.read(buf))!=-1){
System.out.println(new String(buf,0,len));
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if(reader!=null){
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
BufferedWriter:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
//缓冲区的使用是为了提高写入效率
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
FileWriter writer=new FileWriter("F:\\writer.txt");
BufferedWriter bufferedWriter=new BufferedWriter(writer);
for(int i=0;i<4;i++){
writer.write("abcdefg"+i);
bufferedWriter.newLine();
bufferedWriter.flush();
}
bufferedWriter.close();
}
}
BufferedReader:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderDemo {
public static void main(String[] args) throws IOException {
FileReader fileReader=new FileReader("F:\\writer.txt");
BufferedReader bufferedReader=new BufferedReader(fileReader);
String line=null;
while((line=bufferedReader.readLine())!=null){
System.out.println(line);
}
}
}
InputStreamReader,outputStreamWriter:
//模拟控制台输出
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class InputStreamReaderDemo {
public static void main(String[] args) throws IOException {
//字节流
InputStream inputStream=System.in;
//转换流,将字节流转换为字符流
InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
//字符流
BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
//字节流
OutputStream outputStream=System.out;
//字符流转字节流
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(outputStream);
String line=null;
while((line=bufferedReader.readLine())!=null){
if ("over".equals(line)) {
break;
}
outputStreamWriter.write(line+"\r\n");
outputStreamWriter.flush();
}
bufferedReader.close();
inputStream.close();
}
}
序列化:
import java.io.Serializable;
public class Student implements Serializable{
private String stuno;
private String stuname;
private int age;
public Student(){
}
public Student(String stuno, String stuname, int age) {
super();
this.stuno = stuno;
this.stuname = stuname;
this.age = age;
}
public String getStuno() {
return stuno;
}
public void setStuno(String stuno) {
this.stuno = stuno;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [stuno=" + stuno + ", stuname=" + stuname + ", age="
+ age + "]";
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class SirializableDemo {
public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
File file=new File("F:\\sirializaable\\student.dat");
//序列化流,将Object转换成byte序列
ObjectOutputStream objectOutputStream=new ObjectOutputStream(new FileOutputStream(file));
Student stu=new Student("1001","张三",12);
objectOutputStream.writeObject(stu);
objectOutputStream.flush();
objectOutputStream.close();
//反序列化
ObjectInputStream objectInputStream=new ObjectInputStream(new FileInputStream(file));
Student student=(Student) objectInputStream.readObject();
System.out.println(student);
objectInputStream.close();
}
}