发表于: 2018-02-10 22:14:12

1 684


今日完成

  1.学习IO流

   a.什么是流:

    

输入流示意图

      b.什么是IO流

          IO(in/out)流主要用于硬板、内存、键盘等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和Writer)。根据流向不同,可以分为:输入流和输出流。

          

     c.字符流和字节流

          I.字节流读取的时候,读到一个字节就返回一个字节;  字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。

          II.字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。

       两者主要区别:字节流操作的基本单元为字节,字符流操作的基本单元为Unicode码元;字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;字符流通常处理文本数据,它支持写入及读取Unicode码元。

    对部分类的练习

public class FileReaderWriterDemo {

public static void main(String[] args) throws IOException {
       FileReader fr=new FileReader("e://ac.txt");
       FileWriter fw=new FileWriter("e://ad.txt");
       BufferedReader bfr=new BufferedReader(fr);
       BufferedWriter bfw=new BufferedWriter(fw);
       FileInputStream fr2=new FileInputStream("e://AF.txt");
       FileOutputStream fw2=new FileOutputStream("e://AG.txt");
       DataInputStream bfr2=new DataInputStream(fr2);
       DataOutputStream bfw2=new DataOutputStream(fw2);
       String s2=bfr.readLine();
       long i=bfr2.readLong();
       bfw.write(s2);
       bfw2.writeLong(i);
       bfr.close();
       bfw.close();
       bfr2.close();
       bfw2.close();
     }
}

       输出

2.学习对私有变量的暴力反射

class ReflectPoint {
private int priVar;//私有变量
       public ReflectPoint(int priVar) {
       this.priVar = priVar;
   }

}


 class ReflectTest {
       public static void main(String[] args) throws Exception {

       ReflectPoint pt1 = new ReflectPoint(3);//实例化ReflectPoint对象

       //实例化一个Field对象,运用反射返回一个ReflectPoint类的对象,再返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。

       Field fieldx = pt1.getClass().getDeclaredField("priVar");

        //设置所有属性级别为可访问,如果只想设置一个属性,可以 属性.setAccessible(true)

       fieldx.setAccessible(true);
       fieldx.set(pt1, 33);
       System.out.println(fieldx.get(pt1));
   }
}


明天计划

  1.完成IO流的学习;

  2.学习网络连接;

遇到问题

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

收获

搞清了IO流的部分知识点,如:什么是流,IO流的用处等;

学习到了怎么通过反射获取私有变量;



返回列表 返回列表
评论

    分享到