泛型、io、网络编程

一、泛型
理解:是一种参数类型,一般应用于集合中,使用时明确数据类型,表示在此集合中允许放入的元素类型。
好处:把运行期间存在的安全隐患,提前到编译期解决;获取集合中的元素时无需再进行类型强制转换
使用:明确数据类型,必须是引用数据类型。使用时如果不明确泛型类型,则认为Object类型
定义格式:
定义的位置:接口、类、方法
自定义泛型格式:
interface Inter{
void show(T t);
}

            class MyClass(E){
                private E e;
                private E[] es;
                public <V> void show(V v){
                    System.out.println(V);
                }
            }
    通配符:
        <?> : 表示任意泛型类型。比如 方法的参数需要一个LIst<?>,表示带任意泛型类型的List,都可以接收
        <? extends T> :表示任意泛型类型及子类型。比如 方法的参数需要一个LIst<? extends Animal>,表示带Aniamal及子类泛型类型的List,都可以接收
        <? super T>:表示任意泛型类型及父类型。比如 方法的参数需要一个LIst<? extends Animal>,表示带Aniamal及父类泛型类型的List,都可以接收

二、File类
理解:系统中文件或者目录的抽象表示形式,一个File类的对象,就封装了一个文件或目录的信息,并且可以对文件进行创建或删除等操作
构造方法:
File(String path):// new File(“D:/test.txt”);
File(File f,String name)😕/File f1 = new File(“D:/”); File file = new File(f2,“hello/test.txt”);

三、IO流
理解:表示数据的输入输出,就跟水流动一样,数据从一个源头(影盘),到目的地(内存)。
IO流分类:
根据数据的流向分:
输入流:参照物(内存、java程序)
InputStream
FileInputStream
Reader
FileReader
输出流:
OutputStream
FileOutputStream
Writer
FileWriter
根据数据的传输的基本单位:
字节流:
InputStream
FileInputStream
FileInputStream(String name);
int read();
int read(byte[] bys);
OutputStream
FileOutputStream
FileOutputStream(String filename)
FileOutputstream(String filname,boolean append);//true追加写入文件
write(int byt);
write(byte[] bys);
write(byte[] int off,int len)
字符流:主要操作文本文件
Reader
FileReader
FileReader(String fileName);
int read();
int read(char[] chs);
Writer
FileWriter
FileWriter(String fileName)
FileWriter(String fileName,boolean append);true 表示追加写入到文件中
write(int ch);
write(char[] chs);
write(char[] chs,int off,int len);
write(String test);
一、缓冲流(处理流):对基本流的包装处理,提供一个数据缓冲区,目的就是提升效率
BufferedInputStream
BufferedInputStream(InputStream is);
int read();
int read(byte[]);
BufferedOutputStream
BufferedOutStream(OutputStream os)
write(int by);
write(byte[] bys);
write(byte[] bys,int off,int len)

    BufferedReaader
            BufferedReader(Reader reader)
            int read();
            int read(char[] chs)
            String readLine() //读取一行字符串
    BufferedWrite
            BufferedWrite(Write write)
            write(int ch);
            write(char[] chs)
            write(char[] chs,int off,int len)
            write(String ste)//写入一个字符串
            newLine()//写入一个换行符
            flush()//刷新缓冲区

二、转换流
把字节流转换为字符流,转换流也是字符流
InputStreamReader
InputStreamReader(InputStream is)//使用平台默认编码格式
InputStreamReader(InputStream is,String charset)//按照指定的编码格式读取数据
int read() //读一个字符
int read(char[] chs)
OutputStreamWrite
OutputStreamWrite(OutputStream os)
OutputStreamWrite(OutputStream os,String charset)//按照指定的编码格式把数据写入到文件中
write(int ch);
write(char[] chs)
write(char[] chs,int off,int len)
三、对象流
如果希望把Java对象,直接存储到文件当中,需要使得Java类实现Serializable接口,这就是序列化。
如果希望读取存在文件当中的一个Java对象到内存中,这是反序列化

    ObjectOutputStream
            ObjectOutputStream(OutputStream os)
            writeObject(Object obj);//写入java对象
    ObjectInputStream
            ObjectInputStream(InputStream is)
            Object readObject() //读取一个对象

四、其他流
打印流
printStream
print(Object obj)
println(Object pbj)
println()//打印换行符
printWrite
print(Object obj)
println(Object pbj)
println()//打印换行符

    标准输入输出流
            System.in //标准输入流 本质是字节输入流
            System.out//标准输出流  本质上是个字节打印流

五、JDK7中流异常处理方式
之前方式: try{需要异常处理的代码块} catch(IOException e){处理方式} finally{释放资源}

    JDK7方式:   try(需要释放资源的变量声明){  //自动释放资源
                                    可能需要异常处理的代码
                            }catch(IOException e){
                                    处理方式
                                }

六、网络编程
1.软件网络架构:
B/S : Browser Server
对开发人员:只需要开发服务器端,升级更新也只需要针对服务端
对用户:无需下载客户端,有浏览器即可
安全性相对差,对带宽要求高,对于大型游戏运行效果差
C/S:Client Server
需要开发客户端、服务端
使用时需要下载客户端,要更新客户端
安全性相对高,对网络要求相对低,只需要传输关键数据

    2.TCP与UDP协议
            UDP协议:(发短信)
                    非面向连接
                    安全性差
                    效率高
                    传输的数据量有限
            TCP(打电话)
                    面向连接
                    安全性高、可靠的
                    效率低
                    传输的数据量无限制

            建立连接:三次握手
            断开连接:四次挥手

    网络编程三要素
            协议、IP(识别网络中的计算机)、端口(识别计算机上的某个程序)

    4.TCP网络编程
            客户端:
            Socket s = new Socket("192.168.19.11",1234)
            OutputStream os = s.getOutputStream();
            os.wirte("hello TCP".getBytes());
            s.close();

            服务器端:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值