• Java学习 第五章 java本地文件操作


    1、File类,文件的创建、删除、重命名

      File 是属于java.io包的。

     创建一个HelloFile.java文件,创建File对象;

    import java.io.File;
    import java.io.IOException;
    public class HelloFile {
        public static void main(String[] args) {
            // 创建一个文件对象 
            File file = new File("hello.txt");
            //File file = new File("../../hello.txt");
            // 文件是否存在
            if(file.exists()) {
                
                //文件
                file.isFile();
                //路径(文件夹)
                file.isDirectory();
                //文件重命名,文件夹结构必须处于同一个分区
                File nameto = new File("src/new Hello.txt");
                file.renameTo(nameto);
                //删除文件
                //file.delete();
            }else {
                    try {
                        file.createNewFile();
                        System.out.println("文件创建成功");
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        System.out.println("无法创建文件");
                    }
            
            }
            
        }
    }

    2、文件夹的创建、重命名、删除

    import java.io.File;
    
    public class HelloFolder {
    
        public static void main(String[] args) {
            File folder = new File("my new folder");
            //File folder = new File("my new folder/one/two/three");
            //folder.mkdirs();创建多级文件夹
            if(folder.mkdir()) {
                System.out.println("文件夹创建完成");
            }else {
                if(folder.exists()) {
                    System.out.println("文件夹已存在不用创建");
                }else {
                    System.out.println("文件夹创建失败");
                }
                
            }
            File newfolder = new File("my new folder-new");
            //File newfolder = new File("my new folder-new/one/2");
            //File newfolder = new File("my new folder-new/three");one和three在同一级
            if(folder.renameTo(newfolder)) {
                System.out.println("done");
            }else {
                System.out.println("fail");
            }
            //删除的文件夹必须是空的文件夹
            if(folder.delete()) {
                System.out.println("done");
            }else {
                System.out.println("fail");
            }
        }
    }

    3、文件属性的读取

    import java.io.File;
    public class ReadFileProperty {
    
        public static void main(String[] args) {
            File file = new File("text.text");
            //判断文件是否存在
            System.out.println("判断文件是否存在"+file.exists());
            //读取文件名称
            System.out.println("读取文件名称"+file.getName());
            //读取文件的路径
            System.out.println("读取文件路径"+file.getPath());
            //读取文件的绝对路径
            System.out.println("读取文件绝对路径"+file.getAbsolutePath());
            //获取文件父级路径
            System.out.println("获取文件父级路径"+new File(file.getAbsolutePath()).getParent());
            //读取文件大小
            System.out.println("读取文件大小"+file.length()/1000+"KB");                
            //判断文件是否被隐藏
            System.out.println("判断文件是否被隐藏"+file.isHidden());                
            //判断文件是否可读
            System.out.println("判断文件是否可读"+file.canRead());    
            //判断文件是否可写
            System.out.println("判断文件是否可写"+file.canWrite());    
            //判断文件是否为文件夹
            System.out.println("判断文件是否为文件夹"+file.isDirectory());    
        }
    }

    4、文件属性的设置

    import java.io.File;
    public class SetProperty {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            File file = new File("test.file");
            if(file.exists()    ) {
                //将文件设定为可写
                file.setWritable(true);
                //将文件设定为可读
                file.setReadable(true);
                //将文件设置为只读
                file.setReadOnly();
            }
        }
    
    }

    5、遍历文件夹

    import java.io.File;
    
    
    public class Scanner {
    
        public static void main(String[] args) {
            
            printFiles(new File("../HelloFolder"),1);
            
        }
        public static void printFiles(File dir,int tab) {
            if(dir.isDirectory()) {
                File next[] = dir.listFiles();
                for(int i = 0; i < next.length; i++) {
                    for(int j = 0;j < tab; j++){
                        System.out.print("---");
                    }
                    System.out.println(next[i].getName());
                    if(next[i].isDirectory()) {
                        printFiles(next[i],tab+1);
                    }
    //                if(next[i].isFile()) {
    //                    System.out.println(next[i].getName());
    //                }else {
    //                    printFiles(next[i],tab+1);
    //                }
                }
            }
        }
    }

    6、文件的简单读写

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    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.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    public class ReadWriteTextFile {
    
        public static void main(String[] args) {
            
            File file = new File("text.text");
            if(file.exists()) {
                System.out.println("exists");
                try {
                    FileInputStream fis = new FileInputStream(file);
                    InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
                    BufferedReader br = new BufferedReader(isr);
                    String line;
                    while((line = br.readLine()) != null) {
                        System.out.println(line);
                    }
                    br.close();
                    isr.close();
                    fis.close();
                    
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
            try {
                File newfile = new File("newText.txt");
                //如果文件不存在,会自动创建
                FileOutputStream fos = new FileOutputStream(newfile);
                OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
                BufferedWriter bw = new BufferedWriter(osw);
                
                bw.write("测试写入");
                bw.close();
                osw.close();
                fos.close();
                System.out.println("写入完成");
            
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    }
  • 相关阅读:
    【原】iOS学习之XML与JSON两种数据结构比较和各自底层实现
    ios 10 访问设置问题
    蛇形输出
    苹果内购流程详解
    iOS多线程比较
    App iCON 尺寸
    学习网站
    c++ lesson 一(命名空间输入输出)
    iOS中WebSocket的使用
    MAC TXT文本
  • 原文地址:https://www.cnblogs.com/lulushen/p/8205558.html
Copyright © 2020-2023  润新知