io流
ORM思想(数据库和类中的属性一一对应的关系)
所以类中定义了泛型
File在Test和main方法中创建所放的路径是不一样的
IO流
根据数据类型分为字节流和字符流
根据流向分为输入流和输出流
根据角色分为字节流和处理流
FileInputStream
FileOutputStream
FileReader
FileWriter
使用Read()读入数据
read()读入数据放回一个字符,如果读完就返回一个-1
实例化文件的时候必须存在否则就会报错FileNotFoundException
read()可以传参一个字符数组,能够提高效率
Writer
-
实例化文件
-
实例化io流
-
写出写出操作
-
关闭io流
FileWriter后面有一个追加参数
false :覆盖原有文件
true :写在原有文件的后面
复制字节流的文件
import java.io.*;
public class TestInputOutputStream {
字符流操做,.txt,.java文件
字节流操作其他文件
Buffered缓冲流
import org.junit.jupiter.api.Test;
import java.io.*;
public class Buffer {
转换流
import org.junit.jupiter.api.Test;
import java.io.*;
public class Test4 {
字符集
ASCII 美国标准信息交换码
ISO8859—1 :拉丁码表。欧洲码表
GBK :中国的中文编码表
Unicode:国际标准码
UFT-8:变长的编码格式
键盘输入
System.in
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test5 {
public static void main(String[] args) {
System.out.println(readInt());
}
public static int readInt() {
BufferedReader br = null;
String data = null;
try {
InputStreamReader isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
while (true) {
data = br.readLine();
if (data.equalsIgnoreCase("e") || data.equalsIgnoreCase("exit")) {
return 0;
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return Integer.parseInt(data);
}
}
打印流
mport java.io.*;
public class Test {
@org.junit.jupiter.api.Test
public void TestPrintStearm(){
PrintStream ps = null;
try {
ps = new PrintStream((new FileOutputStream(new File("D:\\io\\14.txt"))),true);
if (ps != null){
System.setOut(ps);
}
for (int i = 0; i < 200; i++) {
System.out.print(i);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (ps != null){
ps.close();
}
}
}
}