zoukankan      html  css  js  c++  java
  • File类与字节流

    1.1:表达式:File f = new File("文件路径")  

      1.2:需导入的包: java.io.File  1.3:File表示文件或文件夹(目录),不能操作文件类容,只能操作文件的属性  

      1.4:File常用的方法:    

         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不能操作文件内容

               示例:       

        File file=new File("D:\\Test\\hello.txt");          

        if(file.exists()){ //判断是否有文件或文件夹存在        

        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.isDirectory()){      System.out.println("此文件为目录或文件夹!");    

         }else{       

          System.out.println("文件不存在!");    }    

          }

       1.5:相对路径:非web项目的相对都是以项目为起点。(src/a/txt(建议))             

          绝对路径:f:/bin/a.txt(以盘符开头)

     2.流  

      2.1:流:值一连串流动的字符,(字符:本质是一种电波"0、1")  2

      .2:分类:   输入流:只能从文件中读取数据到JAVA中来,不能在java中写数据文件到文件中。  

             输出流:只能在java中写数据文件到文件中 

     2.字节流  

      2.1:字节输入流(InputStream):   

      2.1.1: 常用方法(数据从文件到java代码中)          

         int read(); //读取一个字节          

         int read(byte[]); //读取一串字节           

        long avaliable; //文件长度

       2.1.2:   FileInptstream(字节文件输入流,是InputStream的子类)           

        new FileInptstream(File)           

         new FileInptstream("文件路径+文件名")

    2.1.3:示例:

           //声明流对象  

         FileInputStream fis=null;   

        try {    fis =new FileInputStream("D:\\Test\\hello.txt");   

         int data;    System.out.println("文件内容为:");        //循环读取数据        

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

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

           }  

             }catch (FileNotFoundException e) {  

          // TODO Auto-generated catch block    

            e.printStackTrace();  

         }      catch (IOException e) {   

           // TODO Auto-generated catch block   

               e.printStackTrace();   

           } finally {   

            if(fis!=null){   

             try {    

                 fis.close();   

               } catch (IOException e) {  

                 // TODO Auto-generated catch block     

                e.printStackTrace();    }

            }

             }

      2.2:字节输出流(OutPutStream):   

        2.2.1: 常用方法:(数据从java代码中,写到文件或其他介质中)          

             void write (字节);//写入一个字节         

             void write(byte[]); //写入字节数组

        2.2.2: FileOutputStream(字节文件输出流,是OutputStream的子类)          

            new FileOutputStream(file)        

             new FileOutputStream("文件路径+文件名")        

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

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

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

    补充:(递归算法)

      //  File file=new File("D:\\Test");

      //  showInfo(file);   

       //非菠萝契数列:1 1 2 3 5 8 ......   

      //int [] muns=new int[10]; //定义数组   

      Scanner input=new Scanner(System.in);

        System.out.println("请输入您要计算的位置:");  

       int a=input.nextInt();  

       System.out.println(suan(a-1));

     }  

     private static void showInfo(File f){  

         File [] file=f.listFiles();   

        for(int i=0;i<file.length;i++){   

           System.out.println(file[i].getName()); //得到一级目录中的文件和文件夹   

           if(file[i].isDirectory()){ //判断一级目录中是否含有文件夹    

             showInfo(file[i]);//调用自己方法    }

            }  

        }  

         private static  int suan(int i){  

           if(i==0 || i==1){   

             return i=1;   }else{

              return suan(i-2)+suan(i-1);  

         }

  • 相关阅读:
    AndroidStudio(3 复刻SKY MAX 1.4.apk问题汇总)
    AndroidStudio(2 begin --- material design )
    2015.1.15~2015.9.25期间工作实用链接
    AndroidStudio(1 下载安装,环境搭建,使用设置)
    Android.Volley的解读:request
    EcpliseIDE各种问题及其解决方法(不定时更新)
    SpannableString 文字增强类
    自定义 标题栏 带返回按钮
    scrollview 与 listView 的显示不全问题
    右键全屏as3
  • 原文地址:https://www.cnblogs.com/tz4630/p/6877365.html
Copyright © 2011-2022 走看看