Java File操作

原创 2018年04月16日 17:13:23
import java.io.*;

public class FileTest {

    public static void main(String[] args) {
        testCreateFile();
        testFileConst();
        testFileCreateV2();
        testDeleteFile();
        testCreatePath();
        testListDir();
        testListDirFile();
        testIsDirectory();
        testWalk();
        testWriteRandomAccessFile();
    }
    /**
     * 创建一个空文件
     * File.createFile()
     * python: file = open(path,'w')   file.close()
     *  */
    public static void testCreateFile(){
        File f = new File("D:\\hello.txt");
        try {
            f.createNewFile();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    /**
     * File类的两个常量,separator, pathSeparator
     * */
    public static void testFileConst(){
        System.out.println(File.separator);
        System.out.println(File.pathSeparator);
    }
    /**
     * 要想使得我们的代码跨平台,更加健壮,
     * 所以,采用File.separator, File.pathSeparator
     * */
    public static void testFileCreateV2(){
        String filePath = "D:" + File.separator + "hello.txt";
        File f = new File(filePath);
        try {
            f.createNewFile();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    /**
     * File.delete()
     * python: os.remove(file)
     * */
    public static void testDeleteFile() {
        String fileName = "D:" + File.separator + "hello.txt";
        File f =new File(fileName);
        if(f.exists()){
            if(f.delete()){
                System.out.println("删除成功");
            } else {
                System.out.println("删除失败");
            }
        }else{
            System.out.println("文件不存在");
        }
    }
    /**
     * File.mkdir() 创建单个目录
     * File.mkdirs() 级联创建目录
     * 当然使用mkdirs() 创建单个目录也是可以的
     * python: os.makedirs(path)
     * */
    public static void testCreatePath() {
        String filePath1 = "D:"+ File.separator+"hello1";
        String filePath2 = "D:"+ File.separator+"hello2" + File.separator+"hello3";
        File f = new File(filePath1);
        f.mkdirs();
    }
    /**
     * File.list()返回值为String[] 仅仅是文件名不是全路径
     * python: os.listdir()
     * */
    public static void testListDir() {
        String fileName="D:" + File.separator;
        File f = new File(fileName);
        String[] str = f.list();//对返回的参数要进行检验,否则容易出现NullPointerException
        if(str != null) {
            for (int i = 0; i < str.length; i++) {
                System.out.println(str[i]);
            }
        }
    }
    /**
     * File.listFiles() File[]
     * */
    public static void testListDirFile() {
        String fileName="D:"+ File.separator+"hello1";
        File f = new File(fileName);
        File[] str=f.listFiles();
        if(str != null) {
            for (int i = 0; i < str.length; i++) {
                System.out.println(str[i]);
            }
        }
    }
    /**
    * File.isDirectory()
    * */
    public static void testIsDirectory() {
        String fileName="D:"+File.separator;
        File f=new File(fileName);
        if(f.isDirectory()){
            System.out.println("YES");
        }else{
            System.out.println("NO");
        }
    }
    /**
     * 列写出指定目录下所有文件
     * python: 直接有build-in的walk函数,java需要自己写递归
     * os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
     * for root, dirs, files in os.walk("path", topdown=False):
     *     print(root)
     *     for name in files:
     *         print(os.path.join(root, name))
     *     for name in dirs:
     *         print(os.path.join(root, name))
     * */
    public static void testWalk() {
        String fileName="D:"+File.separator;
        File f=new File(fileName);
        print(f);
    }
    public static void print(File f){
        if(f==null){return;}
        if(f.isDirectory()){
            System.out.println(f);
            File[] fileArray=f.listFiles();
            if(fileArray != null) {
                for(int i = 0; i < fileArray.length; i++) {
                    print(fileArray[i]);
                }
            }
        } else {
            System.out.println(f);
        }
    }
    /**
     * RandomAccessFile写入文件
     * 如果此时打开hello.txt查看的话,会发现那是乱码。
     * 如何解决?
     * */
    public static void testWriteRandomAccessFile(){
        try {
            String fileName = "D:" + File.separator + "hello.txt";
            File f = new File(fileName);
            RandomAccessFile demo = new RandomAccessFile(f, "rw");
            demo.writeBytes("asdsad");
            demo.writeInt(12);
            demo.writeBoolean(true);
            demo.writeChar('A');
            demo.writeFloat(1.21f);
            demo.writeDouble(12.123);
            demo.close();
        } catch (IOException e){
            e.printStackTrace();
        }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sicofield/article/details/79963359

Java中关于File的操作

File类既可以表示文件,也可以表示为文件夹 文件的创建、删除、重命名 1、文件的创建 File file=new File("new Hello.txt");//当前工程目录下 file.crea...
  • JCY1009015337
  • JCY1009015337
  • 2016-10-08 15:41:58
  • 1690

java file类操作实例

  • 2011年07月02日 16:38
  • 47KB
  • 下载

Java File文件操作

Java提供File类,让我们对文件进行操作,简单整理了一下File类的用法。 1.基本概念File:文件和目录路径名的抽象表示形式,代表文件或者文件夹。 2.构造方法 // 根据pa...
  • MAGIC_JSS
  • MAGIC_JSS
  • 2016-05-21 20:35:57
  • 10430

Java IO操作——文件操作类File的使用

学习目标 掌握File类的使用 可以使用File类中的方法对文件进行操作。 在整个Java的学习中,个人感觉学习较为困难的地方就是IO,因为整个IO是非常庞大的,而且有很多操作的类。每个类都有各自...
  • u013087513
  • u013087513
  • 2016-07-14 15:46:20
  • 1787

Java本地文件(File类的操作)

文件及文件夹的基本操作 (文件及文件夹的重命名可以实现文件及文件夹的移动操作!但必须是在同一分区下。) 文件的创建、删除、重命名 文件的创建:createNewFile();       ...
  • King3cc
  • King3cc
  • 2017-06-10 21:01:29
  • 361

java File文件处理工具类

  • 2017年12月01日 10:29
  • 3KB
  • 下载

Java中使用File类操作文件时的路径问题

Java操作文件首先需要实例化一个对象,File类实例化对象时必须指定文件路径,对于不同的操作系统,文件路径中的分隔符不同,例如Windows系统分隔符为反斜杠“\”,Linux系统则为正斜杠“/”。...
  • wan_yanyan528
  • wan_yanyan528
  • 2016-09-14 16:42:47
  • 552

Java File 操作在windows和linux的不同

使用java API一定要注意javadoc里面关于API的描述,不是所有的API behaviour都在任意平台一致的 系统中使用了java file的rename方法,相关的测试用例一直在li...
  • cloud_ll
  • cloud_ll
  • 2014-01-13 18:12:08
  • 2979

Java中File类的例子

/** file对象是对文件的操作。具体方法有以下几类 File 的构造方法:   1)创建File(String parent,String child)      new出File对象之后...
  • u011521890
  • u011521890
  • 2015-09-28 22:40:15
  • 1260

java file,java读取txt文档

  • 2012年05月29日 12:15
  • 266KB
  • 下载
收藏助手
不良信息举报
您举报文章:Java File操作
举报原因:
原因补充:

(最多只允许输入30个字)