📄 fileiodemo.java
字号:
package chapter10;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileIODemo {
public static void main(String[] args) {
File f = new File("C://test.txt");
String str = "This is the input.";
char[] buffer = new char[str.length()];
buffer = str.toCharArray();
try {
if (!f.exists()) {
f.createNewFile();
}
//输出数据到文件
FileWriter writer = new FileWriter(f);
writer.write(buffer); //输出整个字符数组到文件
writer.write("string"); //直接输出字符串到文件,这里数据流自动转换为字符操作
writer.write("string", 0, 3); //输出字符串中的一部分到文件,这里从0开始3个字符
writer.write(buffer, 0, 4); //输出字符数组的一部分到文件,这里是从0开始4个字符
writer.close();
//从文件中读取数据
FileReader reader1 = new FileReader(f); //从文件头读取所有数据
char[] result1 = new char[20];
int i1 = reader1.read(result1);
FileReader reader2 = new FileReader(f);
char[] result2 = new char[100];
reader2.skip(3); //跳过文件头前3个字符读取后面的所有数据
int i2 = reader2.read(result2);
FileReader reader3 = new FileReader(f);
char[] result3 = new char[100];
int i3 = reader3.read(result3, 3, 9); //读取文件数据9个字符,插入字符数组的第3个位置
System.out.println("读取文件中所有字符,字符数为:" + i1);
System.out.println(result1);
System.out.println("读取跳过文件头3个字符的所有字符,字符数为:" + i2);
System.out.println(result2);
System.out.println("读取文件头9个字符插入字符数组的第3个位置,字符数为:" + i3);
System.out.println(result3);
FileReader reader4 = new FileReader(f);
char[] result4 = new char[100]; //从文件中逐个读取字符,直到文件末尾,返回-1
int i = 0;
System.out.println("从文件中逐个读取字符:");
while (i != -1) {
i = reader4.read();
if (i != -1) {
System.out
.print(String.valueOf(Character.toChars(i)) + ";");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -