Java IO操作

一、File类:

利用File可以创建一个路径或是一个文件,并对文件或是路径进行一些操作。

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
 public static void main(String[] args) throws IOException {
  //1 路径的创建与删除
  File file = new File("c:/abc/def");
  // System.out.println(file);
  // System.out.println(file.exists());
  if (!file.exists()) {
   file.mkdirs();
  } else {
   file.delete();
  }
  //2 文件的创建与删除
  File file2 = new File("c:\\test.txt");
  if (!file2.exists()) {
   file2.createNewFile();
  } else {
   file2.delete();
  }
  
  //3 列举某路径下的所有文件夹名称和文件名称
  File file3 = new File("c:\\");
  String[] files = file3.list();
  for (String filename : files) {
   System.out.println(filename);
  }
  
  //4 递归列举某路径下的所有文件夹名称和文件名称
  File file4 = new File("c:\\");
  if (file4.isFile()) {
   System.out.println(file4);
  } else {
   // listFile(file4);
  }
  
  //5 列举某文件夹下的以“****"结尾(开头)的文件名称
  System.out.println("==========");
  File file5 = new File("c:\\eclipse");
  String[] listfilenames = file5.list(new FilenameFilter() {

   @Override
   public boolean accept(File dir, String name) {
    System.out.println(dir + "--" + name);
    if (name.endsWith(".exe"))
     return true;
    else
     return false;
   }
  });

  for (String filename : listfilenames) {
   System.out.println(filename);
  }

 }

 //递归列举某路径下的文件夹名称和文件名称
 public static void listFile(File file) {
  if (file != null) {
   File[] listFiles = file.listFiles();
   if (listFiles != null) {
    for (File filetmp : listFiles) {
     if (filetmp.isDirectory()) {
      listFile(filetmp);
     } else {
      System.out.println(filetmp);
     }
    }
   }
  }
 }
}


二、字节输出流:

字节输出流与输入流都是同样的形式,不过是用到的类不同,在输入流中用到的类是FileInputStream。

import java.io.File;
import java.io.FileFilter;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
 public static void main(String[] args) throws IOException {
  File file=new File("c:\\aaa.txt");
  FileOutputStream fos=new FileOutputStream(file,true);
  //1
  long l1=System.currentTimeMillis();
  fos.write(65);
  fos.write(97);

 
  fos.write(13);
  fos.write(10);
  long l2=System.currentTimeMillis();
  //2
  byte[] bytes=new byte[]{65,66,67,127,102,103};
  fos.write(bytes);
  fos.write(13);fos.write(10);
  long l3=System.currentTimeMillis();
  
  System.out.println(l2-l1);
  System.out.println(l3-l2);
  
  //3
  fos.write(bytes,3,6);  
  fos.close();  
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值