你的分享就是我们的动力 ---﹥

File类跟字节流

File类和字节流

需要导入的包

1、java.io.File

表示:文件或文件夹(目录)

File f= new File("文件路径")
注意:相对路径:非web项目的相对都是以项目为起点,(src/a.txt)(建议)
绝对路径:f:/bin/a.txt(以盘符开头)

File的一些常用的方法

2、文件常见方法
  boolean flag= f.exists();//文件是否存在
       flag= f.isFile();//是否是文件
         flag= f.isDirectory();//是否是目录
       str=f.getPath();//获得文件的相对路径
       str= f.getAbsolutePath();//获得文件的绝对路径
       str= f.getName();//获得文件的名称
       flag= f.delete();//删除指定的文件
       flag = f.createNewFile();//创建空文件夹
       flag = f.lengh();//获得文件长度
注意: File不能操作文件的内容

3、InputStream/OutputStream
  文件,FileInputStream/FileOutputStream
  3.1 InputStream(输出流)
    数据从文件到java代码中
    int read();//读取一个字节
    int read(byte[]);//读取一串字节
    long avaliable;//文件长度

示例代码:

FileInputStream fis=null

try{

fis=new FileInputStream("文件路径");

int data;

System.out.println(fis.available);

System.out.println("内容:");

while((data=fis.read())!=-1){

System.out.println((char)data+"");

}

}catch(Exception e){

e.printStackTrace();

}finally{

try{

if(fis!=null){

fis.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

  3.2 FileInputStream(字节文件输入流)
      new FileInputStream(File);
      new FileOutputStream(File);

  3.3 OutputStream(输出流)
      数据从java代码中,写到文件或其他介质中。
      void write (字节);//写入一个字节
    void write(byte[]); //写入字节数组

  3.4 FileOutputStream
      new FileOutputStream(file)
      new FileOutputStream("文件路径+文件名")
      new FileOutputStream("文件路径+文件名",boolean)

注意:a.boolean:表示是否向文件末尾追加,如果是true,表示
追加,false表示不追加(也就是覆盖),默认值为false

b.创建FileOutputStream实咧时,
如果相应的文件并不存在,则会自动创建一个空的文件。

示例代码:

  File a= new File("src/a.txt");
  InputStream is=new FileInputStream(a);
  File b=new File("src/b.txt");
  if(!b.exists()){
  b.createNewFile();
  }
  OutputStream os= new FileOutputStream(b);
  int r;
  while((r=is.read())!=-1){
  os.write(r);

  }
  os.close();
  is.close();
  }