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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值