• Java 文件



    章节


    Java文件

    java.io包中的File类,用于处理文件。

    使用File类,创建该类的对象,并指定文件名或目录名:

    示例

    import java.io.File;  // 导入File类
    
    File myObj = new File("filename.txt"); // 指定文件名
    

    File类有许多方法,如下表:

    方法 返回值类型 描述
    canRead() Boolean 测试文件是否可读
    canWrite() Boolean 测试文件是否可写
    createNewFile() Boolean 创建一个空文件
    delete() Boolean 删除一个文件
    exists() Boolean 测试文件是否存在
    getName() String 返回文件的名称
    getAbsolutePath() String 返回文件的绝对路径
    length() Long 返回文件大小(以字节为单位)
    list() String[] 返回目录中文件的数组
    mkdir() Boolean 创建一个目录

    如果你不知道“包”是什么,请参考我们的Java包教程

    创建文件

    可使用createNewFile()方法创建一个文件。这个方法返回一个布尔值: 如果文件创建成功,返回true; 如果文件已经存在,返回false。

    注意,关于文件的操作,通常应该包含在一个try…catch块,如果发生错误(如由于某种原因无法创建文件),会抛出IOException:

    示例

    import java.io.File;  // 导入File类
    import java.io.IOException;  // 导入IOException类来处理错误
    
    public class CreateFile { 
      public static void main(String[] args) { 
        try { 
          File myObj = new File("filename.txt"); 
          if (myObj.createNewFile()) { 
            System.out.println("创建文件: " + myObj.getName()); 
          } else { 
            System.out.println("文件已经存在"); 
          } 
        } catch (IOException e) {
          System.out.println("出错了");
          e.printStackTrace(); 
        } 
      } 
    }
    

    输出将为:

    创建文件: filename.txt
    

    可以指定路径创建文件(需要权限)。对于Windows,使用双反斜杠转义“”字符,对于Mac和Linux上,可以直接写路径,比如:/Users/name/filename.txt

    示例

    File myObj = new File("C:\Users\MyName\filename.txt");
    

    获取文件信息

    可以通过File类的方法,获取文件信息:

    示例

    import java.io.File; 
    
    public class GetFileInfo { 
      public static void main(String[] args) { 
        File myObj = new File("filename.txt");
        if (myObj.exists()) {
          System.out.println("文件名: " + myObj.getName()); 
          System.out.println("绝对路径: " + myObj.getAbsolutePath()); 
          System.out.println("可写: " + myObj.canWrite()); 
          System.out.println("可读: " + myObj.canRead()); 
          System.out.println("文件大小(字节): " + myObj.length());
        } else {
          System.out.println("文件不存在");
        }
      } 
    }
    

    输出将为:

    文件名: filename.txt
    绝对路径: C:UsersMyNamefilename.txt
    可写: true
    可读: true
    文件大小(字节): 0
    

    写入文件

    下面的示例中,使用FileWriter类的write()方法,将一些文本写入文件。注意,写完文件后,应该使用close()方法关闭文件:

    示例

    import java.io.FileWriter;   // 导入FileWriter类
    import java.io.IOException;  // 导入IOException类来处理错误
    
    public class WriteToFile { 
      public static void main(String[] args) { 
        try { 
          FileWriter myWriter = new FileWriter("filename.txt");
          myWriter.write("奇客谷教程 - 精品编程教程与实例");
          myWriter.close();
          System.out.println("成功写入文件");
        } catch (IOException e) {
          System.out.println("出错了");
          e.printStackTrace();
        } 
      } 
    }
    

    输出将为:

    成功写入文件
    

    读取文件

    下面的例子中,使用Scanner类来读取文件内容:

    示例

    import java.io.File;  // 导入File类
    import java.io.FileNotFoundException;  // 导入这个类来处理错误
    import java.util.Scanner; // 导入Scanner类来读取文本文件
    
    public class ReadFile { 
      public static void main(String[] args) { 
        try {
          File myObj = new File("filename.txt");
          Scanner myReader = new Scanner(myObj); 
          while (myReader.hasNextLine()) {
            String data = myReader.nextLine();
            System.out.println(data);
          }
          myReader.close();
        } catch (FileNotFoundException e) {
          System.out.println("出错了");
          e.printStackTrace();
        } 
      } 
    }
    

    输出将为:

    奇客谷教程 - 精品编程教程与实例
    

    注意: Java API中有很多类可以用来读写文件: FileReaderBufferedReaderFilesScannerFileInputStreamFileWriterBufferedWriterFileOutputStream等,可根据需要选择。

  • 相关阅读:
    支持xp风格的manifest
    XPath and TXmlDocument
    TXMLDocument use case (Delphi)
    Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏.
    Delphi下让窗口不显示在任务栏的另类方法
    拨号、断网、枚举连接名称,判断是否在线、连接方式
    [转]装逼
    这该死的数字化生活
    4根网线水晶头接法(8根只接4根即可通讯)
    关闭Delphi的RTTI
  • 原文地址:https://www.cnblogs.com/jinbuqi/p/11751528.html
Copyright © 2020-2023  润新知