Java-day5

I/O

1.   I/O的含义:

       相对与Java程序的输入和输出

 

2.   流的分类:

       字节流

       字符流

 

3.   常见的几种流的特点

      FileInputStream、FileOutputStream   字节流

      FileReader 、FileWriter  字符流

      InputStreamReader、OutputStreamWriter  转换流

      BufferedReader、BufferedWriter   包装流

      ObjectInputStream、ObjectOutputStream   对象流

 

 

 

4.

//字节流

FileInputStream:   特点:以字节的形式读取文件到Java程序中

       FileInputStream file=new FileInputStream(new File("src/FileOutputStream.txt"));

       byte[] buf=new byte[1024];

       file.read(buf);//读取文件到buf中

       String str=new String(buf);//将字节数组转换为字符串

       System.outprintln(str.trim());

       file.close();//不要忘记关闭

 

FileOutputStream:  特点:以字节的形式输出文件

       File file=new File("src/FileOutputStream.txt");

       //建立输出的字节流

       FileOutputStream f=new FileOutputStream(file);

       //输出

       //f.write(97);  输出一个a

       String str="hello";

       byte[] buf = str.getBytes();

       f.write(buf);

       //刷新

       f.flush();

       //流使用后要关闭

       f.close();

 

-------------------------------------------------------------------------------

//转换流

       //将输出型的字节流转化为字符流

       //特点 :以字符的形式输出文件

       OutputStreamWriter ow=new OutputStreamWriter(new FileOutputStream(new File("src/outwriter.txt")));

       ow.write("writer");

       ow.flush();

       ow.close();

 

-------------------------------------------------------------------------------

//包装流(字节流)

       特点:效率高

BufferReader:

       FileReader  reader=new FileReader(new File(src/outwriter.txt));

       BufferedReader br=new BufferedReader(reader);

       //读取多行

       String str="";

       String str2="";

       while((str=br.readLine())!=null){

              str2+=str;

       }

       System.out.println(str2);

       br.close();//只关闭包装流那么流就被关闭了

 

 

BufferedWriter:

       FileWriter writer=new FileWriter(new File(src/outwriter.txt));

       BufferedWriter bw=new BufferedWriter(Writer);

       bw.writer("text");

       bw.flush();

       bw.close();

 

-------------------------------------------------------------------------------

//对象流

ObjectInputStream:

       FileInputStream in=new FileInputStream("src/ObjectText.txt");

       ObjectInputStream input=new ObjectInputStream(in);

             

       Member m=(Member) input.readObject();

       System.out.println(m.getUserName()+"   "+m.getPassWord()+"   "+m.getSex()+"  

 

"+m.getAddress());

 

 

ObjectOutputStream:

       FileOutputStream out=new FileOutputStream("src/ObjectText.txt");

       ObjectOutputStream output=new ObjectOutputStream(out);

             

       Member m=new Member();

       m.setUserName("张三");

       m.setPassWord("66666");

       m.setSex("男");

       m.setAddress("浙江");

             

       output.writeObject(m);

       output.flush();

       output.close();

 

 

Member类:

public class Member implements Serializable{

       private String UserName;

       private transient String PassWord; //transient设置为不可序列化

       private String Sex;

       private String Address;

      

       public String getUserName() {

              return UserName;

       }

       public void setUserName(String userName) {

              UserName = userName;

       }

       public String getPassWord() {

              return PassWord;

       }

       public void setPassWord(String passWord) {

              PassWord = passWord;

       }

       public String getSex() {

              return Sex;

       }

       public void setSex(String sex) {

              Sex = sex;

       }

       public String getAddress() {

              return Address;

       }

       public void setAddress(String address) {

              Address = address;

       }

}

 

-------------------------------------------------------------------------------

//PrintWriter

       //字符流

       //servlet输出页面时使用的就是这个方法

       PrintWriter pw=new PrintWriter(new File("src/pw.txt"));

       pw.print("张三");

       pw.flush();

       pw.close();

 

 

 

 

XML:

1、含义:可扩展标记语言

       <?xml version ="1.0"?>

          <标记属性 ="属性值">

           </标记>

 

2、作用:

       存储数据

       传输数据

 

3、XML的好处:

       层次结构较为清晰

       跨平台

 

4、约束文档:

       DTD, Schema

 

5、XML的解析: 不同语言解析的方式是不一样的

 

 

Java解析XML文件:SAX

               DOM

               DOM4J

               JDOM

posted on 2014-06-15 21:36  MasonChi  阅读(117)  评论(0)    收藏  举报

导航