zoukankan      html  css  js  c++  java
  • JAVA练手--文件操作

    1. File类

    主要作用:用于文件和文件夹的创建、查找、删除等操作

    public static void main(String[] args) throws IOException {
            
            File f = new File("haha/bin");
            
            //1. 创建文件夹
            {
                if(f.exists()){
                    System.out.println("1:  "+"目录存在");
                }else{
                    System.out.println("1:  "+"目录不存在");
                }
                
                f.mkdirs();
                if(f.exists()){
                    System.out.println("1:  "+"目录存在");
                }else{
                    System.out.println("1:  "+"目录不存在");
                }    
            }
            //2. 查找文件夹中的文件和文件夹
            {
                if(f.isDirectory()){
                    System.out.println("2:  "+"是目录");
                }else{
                    System.out.println("2:  "+"是文件");
                }
                //将这个目录下的所有文件和文件夹全部单独放在在字符串中
                String[] list = f.list();
                for(String b : list){
                    System.out.println("2:  文件名:"+b);
                    File fs = new File("haha/bin/"+b);
                    if(fs.isFile()){
                        System.out.println("2:  属性:"+"文件");
                    }else{
                        System.out.println("2:  属性:"+"目录");
                    }
                }
            }
            //3. 删除文件和文件夹
            {
                //拿到所有文件的对象
                File[] ff = f.listFiles();
                
                for(File tf : ff){
                    //如果是文件夹则暂时不管
                    if(tf.isDirectory()){
                        
                    }else{
                        tf.delete();
                    }
                }
            }
            
        }

    结果:

    1:  目录存在
    1:  目录存在
    2:  是目录
    2:  文件名:s
    2:  属性:目录

    2. 字节流

        public static void main(String[] args) throws IOException {
            String StrA = "hello world";
            File f = new File("f.txt");
            if(f.exists()){
                System.out.println("文件存在");
            }else{
                System.out.println("文件不存在");
            }
            //创建字节流输出流对象,如果没有文件则创建文件
            //方法1:
            //FileOutputStream  fos = new FileOutputStream("f.txt");
            //方法2:
            FileOutputStream fos = new FileOutputStream(f);
            byte[] b = StrA.getBytes();
            for(byte bb : b)
                fos.write(bb);
            
            //创建字节流输入对象
            FileInputStream fis = new FileInputStream("f.txt");
            //一次可以读取出来的数量
            int i = fis.available();
            int c;
            byte[] br = new byte[i];
            for(c = 0; c<i; c++)
                br[c++] = fis.read();
            
            System.out.println("得到的文件:"+br.toString());
        }
    文件存在
    得到的文件:[B@6d06d69c

    3. 字符流

    package tet;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.util.Arrays;
    
    
    public class kk {
        
        public static void main(String[] args) throws IOException {
            File f = new File("f.txt");
            //字节流
            FileOutputStream  fos = new FileOutputStream (f);
            //字符流
            OutputStreamWriter osw= new OutputStreamWriter(fos,"UTF-8");
            
            //写入缓冲
            osw.append("hello");   //注意是从打开文件,从0开始追加,不是从末地址开始追加
            osw.append("world");
            //关闭字符流
            osw.close();
            //关闭字节流
            fos.close();
            
            if(f.exists())
            {
                System.out.println("文件存在");
            }else{
                System.out.println("文件不存在");
            }
            
            //字节流
            FileInputStream fis = new FileInputStream(f);
            //字符流
            InputStreamReader isr= new InputStreamReader(fis,"UTF-8");
            //因为这个字符串会不断变化,String一旦确认,就不能再变化了
            StringBuffer bs = new StringBuffer();
            
            while(isr.ready()){
                bs.append((char)isr.read());
            }
            System.out.println(bs.toString());
            //关闭字符流
            isr.close();
            //关闭字节流
            fis.close();
        }
    
    }

    结果:

    文件存在
    helloworld
  • 相关阅读:
    SQL 表连接
    SQL 时间日期函数
    SQL 转换函数
    25 -2 正则爬虫例子
    25 -1 正则 re模块 (findall、search、match、sub、subn、split、compile、finditer)
    25 python 常用模块
    24- 1 模块
    23-8 python模块定义
    23-5 面试题:1000个员工,我们认为名字和年龄相等,就为同一个人
    23-4 __eq__方法
  • 原文地址:https://www.cnblogs.com/maogefff/p/8084841.html
Copyright © 2011-2022 走看看