对文件内容的输入输出,复制,更改操作;
第一, 文件路径的选取;
第二,文件的创建;
第三,输入流,输出流的建立;
第四,内容的传输;
第五,流的关闭
-------------------------------------------------------------------------
路径的确定:file类,绝对路径,相对路径;
文件的创建,creatNewFile,对文件的创建;
文件夹的创建,mkdir,mkdirs(文件夹目录顺便创建);
对文件夹,文件的分辨,isFile(是文件则返回ture)isDirectory(是文件夹则返回ture)
获得功能:getName,getAbsolutepath(返回路径字符串) 使用char[]接受,list()目录下所有文件夹,文件名字;
listFiles()返回同样的文件夹,文件的名字,but返回类型为file类型,使用file[]组进行接受;
rename()改变fiel类的路径值;lastModified()返回最后修改时间,返回的值为毫秒值,使用Date类进行转换;
-------------------------------------------------------------------------
输入流:字符流,FileReader 输出流:Filewriter close;
使用字符串进行传输,read()入去,write()输出;flush()清空缓冲区;
字节流:FileInputStream,FileOutputStream,使用byte[]组接受;
-------------------------------------------------------------------------
package tu;
import java.io.*;
public class sss {
public static void aa(File fr,File fw) throws IOException {
//源目录目录提取;
File [] a=fr.listFiles();
for(File b:a) {
System.out.println(b.getName());
//判断是否为文件,是就复制
if(b.isFile()) {
//输入流
FileInputStream a1= new FileInputStream(b);
//创建一个文件,文字相同
File xi=new File(fw,b.getName());
xi.createNewFile();
//输出流;
FileOutputStream p= new FileOutputStream(xi);
int len;
//字节流复制(可以复制图片)
byte[] ch=new byte[1024];
while((len=a1.read(ch))!=-1) {
p.write(ch, 0, len);
}
//关闭输入输出流
a1.close();
p.close();
}
else {
//创建文件夹,回溯
File qq=new File(fw,b.getName());
qq.mkdir();
aa(b,qq);
}
}
}
public static void main(String[] args)throws IOException {
File fr=new File("E:\\javaaaa\\asd");
File fw=new File("E:\\HI");
fw.mkdirs();
//调用开始;
aa(fr,fw);
}
}