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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章