字节流(最基本的流):操作字节----可以操作图片文件,文本文件,音频文件,视频文件(如果使用记事本,能打开,但是看不懂,肯定使用字节流)
--都按照方向划分
字节输入流 :InputStream
xxxInputStream:都是它的具体的子类
字节输出流 : OutputStream
xxxOutputStream:都是它的具体子类
字符流:是字节流之后出现的,(如果使用记事本打开文件,能看懂,都是字符流)
文本文件(html/text/java...)
--都按照方向划分
字符输入流:Reader
字符输出流:Writer
字节流的追加需要切记.
文件字节输出流将内容不断的写入文件中,并且不断追加到末尾的实现步骤
//1.创建字节文件输入流对象
FileOutputStreamDemo x = new FileOutputStreamDemo("追加的字符",true);//第二个参数true,自动追加
//2写入字节数组
for(int x = 0;x<10;x++){
fos.write("".getBytes());
写入换行符号
fos.write("\r\n".getBytes());
}
//3.释放资源
fos.close();
字符流的基本使用Reader/Writer
一次读取一个字符
一次读取一个字符数组
Reader/Wrtier --- 具体的子类:InputStreamReader(InputStream in)/outputStreamWriter(
OutputStream out):字符转换流
便捷类
为了简化书写格式
FileReader
FileWriter ---他们直接可操作文件
字符缓冲输流(高效字符流):针对普通文本文件 ---直接使用它
BufferedReader --->特有功能:一次读取一行内容"readLine()
BufferedWriter
字符缓冲流
BufferedReader ---一次读取一个字符/一次读取一个字符数组 特有功能:readLine();推荐
BufferedWriter ---
字符流针对文本文件读写复制:7种方式 直接使用特有方式readLine()
Io流BufferedReader和BufferedWriter对文件读写复制特有方式
readLine();和wirteLine() ,newLine();
//创建字符缓冲输入流对象
BufferReader br = new BufferedReader(new FileReader("xxx.java"));
BufferWriter bw = new BufferedWriter(new FileWriter("xxxCopy.java"));
Sting Line = null;
while(line =br.readLine() != null){
bw.write(line);
bw.newLine();
bw.flush();
}
br.close()
bw.close
TCP和UDP协议的区别
1)是否建立连接通道
TCP需要建立连接通道(三次握手)
UDP不需要建立连接通道
2)是否安全
TCP相对udp是安全的
UDP相对来说不安全
3)是否属于可靠连接
TCP建立通道,属于可靠连接,执行效率低
UDP不需要通道,(数据报包),属于不可靠连接,执行效率高
4)发送数据是否有限制
UDP是有限制的:数据报包(字节数组.长度.地址.端口),不是发送大数据文件
TCP有没有限制的,可以发送数据文件过去 --- 字节输入流/输出流
TCP必须手写加熟悉!加油!