IO流
1、流,数据流,是把一些数据从一个地方到另一个地方的转移的一个过程。数据流。
2、数据流的两个端点的形式有:程序-----文件, 程序----网络, 程序--- 内存。
3、jdk 给我们提供了很多数据流类型。
4、这些数据流的类型(内容格式),分为两类:
a、字节(inputStream outputStream)
b、字符(Reader Writer)
5、根据流向,(相对于程序,输入和输出)
inputStream outputStream Reader Writer
6、根据处理方式,两类:
a、处理流(封装流) b、原始流(节点流)
7、我们程序中主要针对的就是程序----文件之间的数据流的传输。
8、jdk 提供类处理数据流的很多类型。
a、字节流
字节流操作一个文件,读取这个文件中内容。
d: 有一个test1.txt ,把它copy 到c : 中
b、字符流
c、字节缓冲流 和 字符缓冲流
d、转换流
e、数据流(按照java 中数据类型来进行数据传输)
f、打印流
g、对象流
h、压缩流
9、这个类型是用来描述文件对象的,有的时候也可以用它来描述文件夹。
File
a、判断是否存在这个文件
b、判断这个对象时文件还是文件夹
c、这个文件是否是隐藏文件
d、创建文件,或者创建文件夹
。。。。
。。。。
package com.salmon.test;
import java.io.File;
import java.io.IOException;
public class Demo {
public static void main(String[] args) {
// 文件对象
File file = new File("D://test.txt");
// 判断这个文件是否存在
System.out.println(file.exists());
// 创建这个文件
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(file.exists());
// 判断这个文件是不是隐藏的
System.out.println(file.isHidden());
// 判断是不是一个文件
System.out.println(file.isFile());
}
}
package com.salmon.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Demo5 {
public static void main(String[] args) {
File file = new File("d://test/test2/test1.txt");
File newFile = new File("d://test/test1.txt");
// 输入
InputStream in = null;
// 输出
OutputStream out = null;
//
try{
// 先读取
in = new FileInputStream(file);
byte bs [] = new byte[in.available()];
in.read(bs);
// 再输出 (这个再给某个文件输出数据的时候,如果这个文件不存在就会创建)
// 如果是添加true 参数,对新文件的操作就是追加 覆盖(重新创建文件)
out = new FileOutputStream(newFile,true);
out.write(bs);
out.flush();// 提交
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(out!=null){
out.close();
}
if(in != null){
in.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
}