IO流
定义:
分类:
public class FileDemo {
// 字节流-读文件
public static void readFile() throws IOException {
// 创建文件管理类
File file = new File("E:\eclipse\eclipse\workplace\ceshi.txt");
// 创建字节输入流
InputStream in = new FileInputStream(file);
// 获取读取的字节数
int size = in.available();
for (int i = 0; i < size; i++) {
// 读取文件数据,字节流返回的是ASCLL码,需要将数字转为char字符
// read():从输入流中向下读取一个字节,返回的是ASCLL码
char res = (char) in.read();
System.out.print(res);
}
}
public static void main(String[] args) {
try {
readFile();
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出字节流(写文件)
// 字节流-写文件
public static void writeFile() throws IOException {
// 创建文件管理类
File file = new File("E:\eclipse\eclipse\workplace\ceshi.txt");
//创建文件输出字节流
OutputStream out= new FileOutputStream(file);
//待写入的文本
String content="123";
//写入文件
out.write(content.getBytes());
//刷新输出流
out.flush();
//关闭输出流
out.close();
}
字符输入流
public static void readFile2() throws IOException {
//创建文件管理类
File file = new File("E:\eclipse\eclipse\workplace\ceshi.txt");
//创建字节输入流
InputStream in=new FileInputStream(file);
//字节输入流转字符输入流,设置伟utf-8
InputStreamReader reader=new InputStreamReader(in,"UTF-8");
//创建字符流处理类
BufferedReader br=new BufferedReader(reader);
String line=br.readLine();//向下读取一行数据,如果没有返回null
while(line!=null) {
System.out.println(line);
line=br.readLine();
}
//关闭
br.close();
reader.close();
in.close();
}
字符输出流
//字符输出流
public static void writeFile2() throws IOException{
//创建文件管理类
File file=new File("E:\eclipse\eclipse\workplace\ceshi.txt");
//创建字节输出流
OutputStream out =new FileOutputStream(file);
//字节流转字符流
OutputStreamWriter writer=new OutputStreamWriter(out,"UTF-8");
BufferedWriter bw=new BufferedWriter(writer);
//向输出流写入数据
bw.write("你好");
bw.newline();//换行
//刷新
bw.flush();
bw.close();
}
文件复制
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
public class FileDemo {
// 文件复制
public static void copyFile() throws IOException {
String fromPath = "E:\eclipse\eclipse\workplace\ceshi.txt";
String toPath="E:\eclipse\eclipse\workplace\ok.txt";
File fileFrom = new File(fromPath);
File fileTo = new File(toPath);
if (!fileFrom.exists()) {
fileFrom.createNewFile();
}
// 创建字节输入流
InputStream in = new FileInputStream(fileFrom);
// 字节输入流转字符输入流,设置伟utf-8
InputStreamReader reader = new InputStreamReader(in, "UTF-8");
// 创建字符流处理类
BufferedReader br = new BufferedReader(reader);
String line = br.readLine();// 向下读取一行数据,如果没有返回null
// 创建字节输出流
OutputStream out = new FileOutputStream(fileTo);
// 字节流转字符流
OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");
BufferedWriter bw = new BufferedWriter(writer);
while (line != null) {
bw.write(line);
bw.flush();
line = br.readLine();
}
// 关闭
br.close();
reader.close();
in.close();
bw.close();
}
public static void main(String[] args) {
try {
copyFile();
} catch (Exception e) {
e.printStackTrace();
}
}
}



