import java.io.*;
/**
* 使用字符流创建文件复制文件
* 在盘符中文件夹
* 在文件夹中添加文件
* 在文件中写文字
* 复制文件
* */
public class Iof {
public static void main(String[] args) {
try {
fun();
System.out.println();
fun1();
fun2();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void fun() throws IOException{
// 创建IO文件夹
File file=new File("d:\IO");
// 判断是否被创建 如果被创建就返回false
boolean mkd = file.mkdir();
System.out.println(mkd);
// 写入文本文件 在文本文件中写入内容
FileWriter filew=new FileWriter("D:\IO\IO.txt");
filew.write("abcdefghijk");
// 关闭IO流
filew.close();
// 打印O.txt文件
FileReader fileR = new FileReader("D:\IO\IO.txt");
for(;;){
// 打印单个字符
int read = fileR.read();
// 如果值为-1时跳出打印
if(read==-1)
break;
System.out.print((char)read);
}
fileR.close();
}
public static void fun1() throws IOException{
// 创建IO文件夹
File file=new File("D:\IO1");
file.mkdir();
// 写入文本文件 在文本文件中写入内容
FileWriter fileW=new FileWriter("D:\IO1\java.txt");
fileW.write("abcdefghj");
// 刷新IO流
fileW.flush();
// 关闭IO流
fileW.close();
FileReader fileR=new FileReader("D:\IO1\java.txt");
// 设置一个文本的大小为1kb 这样的话文本少的话可以一次性打出来
char [] ch=new char[1024];
// 先让字节数等于零
int num=0;
// 打印的字节长度不能等于-1
while ((num=fileR.read(ch))!=-1) {
// 打印输出
System.out.println((new String(ch,0,num)));
}
// 关闭IO流
fileW.close();;
}
// 复制文件
public static void fun2() throws Exception{
// 创建要复制的路径
FileWriter fileW=null;
FileReader fileR=null;
// 先读取文件
fileR=new FileReader("D:\IO1\java.txt");
// 要写的文件路经
fileW=new FileWriter("D:\IO1\java1.txt");
// 读取速度为1M
char[] ch=new char[1024*10];
// 先定义长度为0
int len=0;
// 如果长度扥等于-1 就跳出程序
while((len=fileR.read(ch))!=-1){
fileW.write(ch,0,len);
}
// 关闭IO流
fileR.close();
// 刷新IO流
fileW.flush();
}
}