File类和字符流

1.包名:java.io.File
2.File对象即可表示文件,又可表示目录
3.创建一个File对象的语法格式:File file=new File("文件路径");
  如:File file=new File("C:\\test.txt");
4.注意:相对路径:非web项目的相对都是以项目为起点。(src/a/txt(建议)
    绝对路径:f:/bin/a.txt(以盘符开头)
5.文件常见方法
    boolean flag = f.exists(); //文件是否存在
    flag = f.isFile(); //是否是文件
    flag = f.isDirextory(); //是否是目录
    str = f.getPath(); //获得文件的相对路径
    str = f.getAbsolutePath(); //获取文件的绝对路径
    str = f.getName(); //获取文件的目录或名称
    flag = f.delete(); //删除文件或目录
    flag = f.createNewFile(); //创建文件
    long = f.length(); // 返回文件长度
    注意flag不能操作文件内容

    示例代码:
      //创建文件的方法
      public void create(File file){
        if(!file.exists()){
          try{
            file.createNewFile();
            System.out.println("文件已创建!");
          }catch(IOException e){
            e.printStackTrace();
          }
        }
      }

      //删除文件的方法
      public void delete(File file){
        if(file.exists()){
          file.delete();
          System.out.println("文件已删除!");
        }
      }

      //显示文件信息的方法
      public void delete(File file){
        if(file.isFile()){
          System.out.println("名称"+file.getName());
          System.out.println("相对路径"+file.getPath());
          System.out.println("绝对路径"+file.getAbsolutePath());
          System.out.println("文件大小"+file.length()+"字节");
        }
        if(file.isFile()){
          System.out.println("此文文件是目录");
        }else{
          System.out.println("文件不存在");
        }
      }


6.Inptstream/OutputStream
  文件:FileInptstream/FileOutputStream
3.1 Inptstream(输入流)
  数据从文件到java代码中,
    int read(); //读取一个字节
    int read(byte[]); //读取一串字节
    long avaliable; //文件长度

    示例代码:
      public class a {
        public static void main(String[] args) throws Exception {
          File f=new File("src/a.txt"); //相对路径
          InputStream is=new FileInputStream(f);
          int b=is.read(); //读取一个字节
          System.out.println((char)b);
          is.close(); //关闭流
        }
      }

      public class b {
        public static void main(String[] args) throws Exception {
          File f=new File("src/b.txt"); //相对路径
          InputStream is=new FileInputStream(f);
          byte[]bs=new byte[10];
          int b;
          b=is.read(bs); //读取一串字节
          System.out.println(Arrays.toString(bs));
          is.close();
        }
      }

3.2 FileInptstream(字节文件输入流)
  new FileInptstream(File)
  new FileInptstream("文件路径+文件名")
    例:InputStream is=new FileInputStream("src/a.txt");

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

    示例代码:
      public class a {
        public static void main(String[] args) throws Exception {
          File f=new File("src/a.txt");
          OutputStream os=new FileOutputStream(f);
          os.write(97); //写入一个字节
          os.close();
        }
      }

      public class b {
        public static void main(String[] args) throws Exception {
          File f=new File("src/b.txt");
          OutputStream os=new FileOutputStream(f);
          byte[] bs={97,98,99,100,101};
          os.write(bs); //写入字节数组
          os.close();
        }
      }

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

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

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

 

posted @ 2017-05-08 21:27  #安生  阅读(171)  评论(0编辑  收藏  举报