IO
IO有许多种,比如说比如:
1.使用字节流和字符流进行文件的读写和File操作
1.1些new一个file然后 定义一个名 在发你的路径放进去。
//代码操作一下:
file file=new file("定义你这个文本的名.webm");
file fileOut=new file("你要把文件发在哪里的位置");
2.2开始写和读
文件字节输入流(读)
fileinputstream fis=new FileInputStream(file);
文件字节缓冲输入流
BufferedInputStream bis=new BufferedInputStream(fis,10);
文件字节输出流(写)
FileOutputStream fos=new FileOutputStream(fileOut+"\\"+file.getName());
文件字节缓冲输出流
BufferedOutputStream bos=new BufferedOutputStream(fos);
int len=0;
byte[] b=new byte[1024];
获取系统时间
long before=System.currentTimeMillis();
没有使用缓冲流
whie(len=bis.read(b)!=-1){
//写
fors.write(b,0, len);
}
//使用缓冲流
while((len=nis.read(b))!=-1){
bos.write(b,0, len);
}
bos.close();
bis.close();
login safter=system.currentTimeMillis();
System.out.println("复制OK:"+(after-before));
2.递归:
代码操作一下:
public static void main(String[] args) {
File f=new File("C:\\Users\\Administrator\\Desktop\\a");
read(f);
}
//文件 【文件夹】
public static void read(File f){
if(f.isDirectory()){
//文件夹
//列出该文件夹下所有的文件
File fs[]=f.listFiles();
if(fs.length>0){
//有子目录或者子文件
for (File file : fs) {
if(file.isDirectory()){
read(file);
}else{
System.out.println(file.getAbsolutePath());
}
}
}else{
//没有儿子目录或者子文件
System.out.println(f.getAbsolutePath());
}
}else{
//文件
System.out.println(f.getAbsolutePath());
}
}
3-转换流-序列化
public static void mian(String [ ] args){
File file=new file("文件.txt");
File fileOut=new file("路径");
//获取字节文输入流
FileInputStream fis=new FileInputStream(file);
//使用字符缓冲输入流
BufferedReader br=new BufferedReader(new InputStreamReader(fis));
String s=br.readLine();
System.out.println(s);
//打印流
PrintWriter pw=new PrintWriter(file);
pw.write("新内容");
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}