zoukankan      html  css  js  c++  java
  • java面向对象滴十章

    文件:存储相关记录或放在一起的数据的集合。

    导入文件需要导入一个包: java.io.*;

    File创建对象时需要关联一个字符串:

                    File f=new File("[放入文件的路径关联指定的文件名或目录名]")

    显示目录下所以的文件或目录:File [] files=对象名.listFiles();<输出既包括文件有包括文件夹>

                                    可通过 isFile方法判断是否为文件

    1kb=1024b(字节)   1MB=1024kb

    执行删除操作时删除文件夹时,文件夹里面有子文件时不能删除。

        public static void main(String [] args ){
            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("文件不存在!");
                }
                
            }
        }
    File读取文件操作

    递归算法:《方法直接或间接调用自己》

        public static void main(String [] args){
    //        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);
            }
        }
    递归算法

    Java中的流

                    1.字节流:   InputStream(输入流:读取文件)            InputStream   input=new FileInputStream(对象名或文件路径) <不能直接new>【不能显示中文】

                                               OutputStream(输出流:写入文件)          OutputStream output=new   FileOutPutStream(对象名或文件路径) <不能直接new>【写入文件会覆盖原文件或者会新建新文件】

        public static void main(String [] args) throws Exception{
    //        //声明流对象
    //        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();
    //            }
    //        }
    //    }
    FileInputStream
    public static void main(String [] args){
            OutputStream fos=null;
            try {
                String str="好好学习java";
                String a="每天"+10+"分钟";
                byte [] words= str.getBytes();        //字节数组
                
                //创建流的对象,以追加方式写入文件
                fos=new FileOutputStream("D:\Test\test.txt");
                
                //写入文件
                try {
                    fos.write(words);
                    fos.write(a.getBytes());
                    System.out.println("Test文件已更新!");
                } catch (IOException e) {
                    System.out.println("文件创建时失败!");
                }
                
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    OutputStream

                    2.字符流:Rearder(字符输入流:读取文件)                              Rearder  fr=new FileRearer(对象名或文件路径)                【可以显示中文】

                                    BufferedReader字符输入流:读取文件)       BufferedReader  br=new     BufferedReader(只能放Rearder的对象名);

                                    BufferedReader的效率比Rearder高些。

                              Writer(字符输出流:写入文件)                          Writer fr=new File Writer(对象名或文件路径)

    public static void main(String [] args){
            Reader fr=null;
            StringBuffer sbf=null;
             try {
                fr=new FileReader("D:\Test\test.txt");
                sbf=new StringBuffer();
                int length;
                while((length=fr.read())!=-1){
                    char c=(char)length;
                    sbf.append(c);
                }
                System.out.println(sbf.toString());    //输出数据
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                if(fr!=null){
                    try {
                        fr.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
    Reader
    public static void main(String [] args){
            Reader fr=null;
            BufferedReader br=null;
            try {
                //先创建一个FileReader对象
                fr=new FileReader("D:\Test\test.txt");
                
                //在创建一个BufferedReader对象
                br=new BufferedReader(fr);
                
                //读取每一行数据
                String line=br.readLine();
                while(line!=null){
                    System.out.println(line);
                    line=br.readLine();//再次赋值进行判断
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    br.close();    //先关
                    fr.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    BufferedReader
    public static void main(String [] args){
            Writer fw=null;
            
            try {
                //创建一个FileWrite对象
                fw=new FileWriter("D:\Test\简介.txt");
                
                //写入信息
                fw.write("我热爱我的团队!"+"
    ");
                fw.write("张三"+"
    ");        //
    进行换行
                fw.write("18岁");
                fw.flush();        //刷新缓冲区
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    Writer

                    3.DataInputStream字节流来输出二进制的文件    是filterInputStream的子类

                        DataOutPutStream字节流来写入二进制的文件   是filterOutputStream的子类

                                二进制文件(乱码)能够增强文件的安全性

     

    实体类  可实现一个序列化操作的接口  做数据传递的载体    二进制(01)、XML形式(标记《可跨平台跨语言》)

  • 相关阅读:
    tensorflow2.0 GPU和CPU 时间对比
    第一次使用FileZilla Server
    PremiumSoft Navicat 15 for Oracle中文破解版安装教程
    Unmapped Spring configuration files found. Please configure Spring facet or use 'Create Default Context' to add one including all unmapped files.
    ng : 无法加载文件 D: odejs ode_global g.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
    angular
    Github上优秀的go项目
    win10---file explore 中remove quick access folder
    react--useEffect使用
    linux---cat 和 grep 的妙用
  • 原文地址:https://www.cnblogs.com/22joke/p/7018562.html
Copyright © 2011-2022 走看看