文章目录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/64349ba7ad066838c525023527f9ccec.png)
一般都是用字符流来从文件读取信息的, 有关实体类对象信息的存储是是用字节流中的对象流来存储, 当然, 实体类需要实现 Seralizable接口 来实现序列化
Writer / Reader
BufferedWriter / BufferedReader
package test.file;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.Exception;
public class Writer_Reader_Demo {
static BufferedWriter bw = null;
static BufferedReader br = null;
public static void BufferedWriterTest ( ){
try {
bw = new BufferedWriter( new FileWriter( "F:\\test.txt" ) );
String line = System.getProperty( "line.separator" );
bw.write( "Hello World !" + line );
bw.write( "Hello Java !" + line );
bw.flush( );
} catch ( Exception e ) {
e.printStackTrace( );
} finally {
if( bw!=null ) {
try {
bw.close();
} catch ( IOException e ) {
e.printStackTrace( );
}
}
}
}
public static void BufferedReaderTest ( ) {
try {
br = new BufferedReader( new FileReader( "F:\\test.txt" ) );
String ans = null;
while ( (ans=br.readLine()) != null ) {
System.out.print( ans );
}
} catch ( Exception e ) {
e.printStackTrace( );
} finally {
if( br!=null ) {
try {
br.close();
} catch ( IOException e ) {
e.printStackTrace( );
}
}
}
}
public static void main ( String[] args ) {
BufferedWriterTest( );
BufferedReaderTest( );
}
}
InputStream / OutputStream
ObjectOutputStream / ObjectInputStream
static ObjectOutputStream oos = null;
public static void ObjectOutputStreamTest ( ) {
ArrayList<Person> person = new ArrayList<Person>(
Arrays.asList( new Person[] {
new Person( "001", "hhh", 12 ),
new Person( "003", "iii", 18 ),
new Person( "002", "aaa", 13 )
} )
);
try {
oos = new ObjectOutputStream( new FileOutputStream( "D:\\person_date.txt" ) );
oos.writeObject( person );
oos.flush();
} catch ( Exception e ) {
e.printStackTrace( );
}
}
static ObjectInputStream ois = null;
public static void ObjectInputStreamTest ( ) {
ArrayList<Person> person = new ArrayList<Person>( );
try {
ois = new ObjectInputStream( new FileInputStream( "D:\\person_date.txt" ) );
person = (ArrayList<Person>)ois.readObject();
} catch ( Exception e ) {
e.printStackTrace( );
}
for ( Person p : person ) {
System.out.println(
"no :" + p.getNo() +"\n"+
"name: " + p.getName() +"\n"+
"age: " +p.getAge() +"\n" );
}
}