package testIO;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
@author dell
*1.File类
*1.1 常见的构造器
*public File(String pathname) | public File(String parent,String child)
*1.2 访问文件名 文件检测类 获取文件信息
getName() exists() lastModified
getPath() canRead() length()
getAbsoluteFile() isFile()
getParent()
*2.IO原理及流的分类
*2.1字节流 InputStream(输入流),输出流OutputStream
*2.2字符流 Reader(输入流),输出流Writer
*3.文件流
*4.缓冲流
*4.1 BufferedInputStream BufferedReader
BufferedOutputStream BufferedWriter
*5.打印流
*PrintScream(字节打印流) PrintWriter(字符打印流)
*6.转换流
InputStreamReader OuputScreamReader
解码:字节数组字符串
编码:字符串字节数组
*7.数据流
*8.对象流
ObjectInputScream 和ObjectOutputScream 用于存储和读取对象的处理流
序列化(Serialize):用ObjectOutputScream类将一个java对象写入IO流中
private static final long serialVersionUID;
serialVersionUID用来表明类的不同版本间的兼容性
*9.随机存取文件流
*9.1RandomAccessFile类支持的“随机访问”的方式
*9.2对象包含一个记录指针
*long getFilePointer():获取文集记录的指针的当前位置
void seek(long pos):将文件记录的指针定位到pos位置。
/
public class TestIO {
public static void main(String[] args) throws FileNotFoundException,IOException {
/
*1.文件流
*1.1 读取文件
*1.1.1 建立一个文件流对象,加载进流
* FileReader fr = newFileReader(“hello.txt”)
*1.1.2 创建一个临时存放数据的数组
*char [] ch = new char[1024]
*1.1.3 调用对象的读取方法将流中的数据读入到数组中
*fr.read(ch)
*1.2 写入文件
*1.2.1创建流对象,建立数据存放文件
*1.2.2 调用流对象的写入方法,将数据写入流
*1.2.3 关闭流资源,并将流中的数据清空到文件中
*/
// File dir1 = new
File(“C:\Users\dell\Desktop\dir1”);
// File file = new
File(dir1,“hello.txt”);
// System.out.println(file.getAbsolutePath());
// System.out.println(file.getName());
FileReader fr = new FileReader(“C:\Users\dell\Desktop\hello.txt”);
char [] ch = new char[1024];
fr.read(ch);
fr.close();
System.out.println(ch);
BufferedReader br = null;
BufferedWriter bw = null;
//1.创建缓冲流对象
br = new BufferedReader(
new FileReader(“C:\Users\dell\Desktop\hello.txt”));
bw = new BufferedWriter(
new FileWriter(“C:\Users\dell\Desktop\des.txt”));
String str = null;
while((str = br.readLine())!= null) {
bw.write(str);
bw.newLine();
}
bw.flush();
if(bw != null) {
bw.close();
}
}
}