字符流进行中文读取
//空参读取数据
package io;
import java.io.FileReader;
import java.io.IOException;
public class Reader {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//read读取方式默认一个字节一个字节的读取。如果遇到中文会一次读取多个
//读取之后,方法底层会进行解码转为十进制
FileReader fr = new FileReader("F:\\eclipse-java-2020-06-R-win32-x86_64\\demo\\io\\aa");
int a ;
while((a=fr.read())!=-1) {
System.out.print((char)a);//强转获得中文
}
fr.close();
}
}
有参读取数据
package io;
import java.io.FileReader;
import java.io.IOException;
public class Reader {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//read读取方式默认一个字节一个字节的读取。如果遇到中文会一次读取多个
//读取之后,方法底层会进行解码转为十进制
FileReader fr = new FileReader("F:\\eclipse-java-2020-06-R-win32-x86_64\\demo\\io\\aa");
char[] by= new char[2];
int a ;
while((a=fr.read(by))!=-1) { //
System.out.println(new String(by,0,a));
}
fr.close();
}
}
写入
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterExample {
public static void main(String[] args) {
// 指定要写入的文件路径
String filePath = "path/to/file.txt";
try (FileWriter writer = new FileWriter(filePath)) {
// 写入字符数据
writer.write("Hello, FileWriter!");
// 刷新并关闭流
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterExample {
public static void main(String[] args) {
String filePath = "path/to/file.txt";
try (FileWriter writer = new FileWriter(filePath)) {
// 写入字符串
writer.write("Hello, FileWriter!\n");
// 写入字符数组
char[] charArray = {'J', 'a', 'v', 'a'};
writer.write(charArray);
// 写入部分字符
writer.write(" is amazing!", 8, 8);
// 刷新并关闭流
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}