Java文件操作txt
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 {
// 用于存储文本字节的数组, 最好是2的n次幂
byte[] buffer = new byte[4096];
// 从文件中读取数据,放到buffer数组中, 路径两种写法都可以
// InputStream inputStream = new FileInputStream("C:/Users/HUIHUI/Desktop/文件.txt");
InputStream inputStream = new FileInputStream("C:\\Users\\HUIHUI\\Desktop\\文件.txt");
// read的返回值是读取到的字节数
int n = inputStream.read(buffer,0, 4096);
inputStream.close();
// 将数组中的数据转换成UTF-8编码的字符串, 注意文件也要是UTF-8编码
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 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 = "你好";
//将str内容写入,使用的字符集是UTF-8
fileOutputStream.write(str.getBytes(StandardCharsets.UTF_8));
fileOutputStream.flush();
fileOutputStream.close();
}
}
(3)文件写入(以字符的方式)
public static void main(String[] args) throws IOException {
//创建一个file对象,
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 = "你好";
//将str内容写入
fileWriter.write(str);
fileWriter.flush();
fileWriter.close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/122857.html