1. 流
一连串连续都挺的数据集合
2. Java IO抽象类
(1)字节流
1) InputStream 输入流
常用方法名 | 作用 |
---|
read() | 读取一个字节的数据,返回int值,在0 ~ 255之间,未读出数据返回-1 |
close() | 关闭 |
2)OutputStream 输出流
常用方法名 | 作用 |
---|
write(int n) | 向目标写入1字节的数据 |
close() | 关闭 |
(2)字符流
1)Reader 输入流
常用方法名 | 作用 |
---|
read() | 读取一个字节的数据,返回int值,在0 ~ 65535之间,未读出数据返回-1 |
close() | 关闭 |
2)Writer 输出流
常用方法名 | 作用 |
---|
write(int n) | 向目标写入1字符的数据 |
close() | 关闭 |
字节流适用于二进制文件
字符流适用于文本文件
3. 文件读取(以字节的方式)
public static void main(String[] args) throws IOException {
byte[] buffer = new byte[4096];
InputStream inputStream = new FileInputStream("C:\\Users\\HUIHUI\\Desktop\\文件.txt");
int n = inputStream.read(buffer,0, 4096);
inputStream.close();
String str = new String(buffer,0,n, StandardCharsets.UTF_8);
System.out.println(str);
}
int length = 10000000;
byte[] buffer = new byte[length];
如果文件内容多,可以把byte数字的长度设置的大一点
4. 文件写入(以字节的方式)
(1) File类
针对磁盘文件或目录转换对象的包装类
一个File类对象是一个文件或者目录
对文件操作的方法
方法名 | 作用 |
---|
createNewFile() | 创建新文件 |
exists() | 判断是否存在 |
isFile() | 判断该对象是否是文件 |
对目录操作的方法
方法名 | 作用 |
---|
mkdir() | 创建新目录 |
exists() | 判断是否存在 |
isDirectory() | 判断该对象是否是目录 |
(2)文件写入
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class OutPut {
public static void main(String[] args) throws IOException {
File file = new File("C:/Users/HUIHUI/Desktop/123.TXT");
if(!file.exists()){
if (!file.createNewFile()) {
System.out.println("文件创建失败");
}
}
FileOutputStream fileOutputStream = new FileOutputStream(file);
String str = "你好";
fileOutputStream.write(str.getBytes(StandardCharsets.UTF_8));
fileOutputStream.flush();
fileOutputStream.close();
}
}
(3)文件写入(以字符的方式)
public static void main(String[] args) throws IOException {
File file = new File("C:/Users/HUIHUI/Desktop/123.TXT");
if(!file.exists()){
if (!file.createNewFile()) {
System.out.println("文件创建失败");
}
}
FileWriter fileWriter = new FileWriter(file);
String str = "你好";
fileWriter.write(str);
fileWriter.flush();
fileWriter.close();
}