java中的文件操作总结(干货)

发布时间 - 2026-01-10 23:01:13    点击率:

File类简介

package com.file;

import java.io.File;
import java.io.IOException;

/**
 * Created by elijahliu on 2017/2/10.
 */
public class filetest {
  public static void main(String[] args) {
    File file = new File("hello.txt");
    //是否存在
    if (file.exists()) {
      //文件
      System.out.println(file.isFile());
      //路径(文件夹)
      System.out.println(file.isDirectory());

      File nameto = new File("new Hello.txt");
      file.renameTo(nameto);//这里就是重命名文件的操作,直接新建一个file对象然后使用renameTo方法可以重命名文件

    } else {
      System.out.println("文件不存在");
      try {
        file.createNewFile();
        System.out.println("文件已被创建");
      } catch (IOException e) {
        System.out.println("文件无法创建");
      }
    }
    if (file.exists()) {
      //删除文件
      file.delete();
      System.out.println("删除文件");
    } else {
    }
  }
}

文件夹操作

package com.file;

import java.io.File;

/**
 * Created by elijahliu on 2017/2/11.
 */
public class HelloFolder {
  public static void main(String[] args) {
    File folder = new File("my new folder");
    if (folder.mkdir()) {//创建文件夹 判断是否成功
      System.out.println("文件夹创建完成");
      File newfolder = new File("myn new foleder - new");
      folder.renameTo(newfolder);//这里重命名了文件夹 文件夹的重命名是可以单独更改一级的文件夹名的 而这一级下面的文件夹不变 保存目录结构
      if (folder.delete()) {
        System.out.print("done");//这里的删除只能删除空文件夹,如果文件夹中有东西,那么则不能删除,不问三七二十一直接删除一个非空文件夹是非常不负责任的
      } else {
        System.out.println("fail");
      }

    }else{
      if (folder.exists()) {
        System.out.println("文件夹已经存在不用创建");
      }else{
        System.out.println("文件夹创建失败");
      }
    }
    File folders = new File("my new folder/one/two/three/main");
    folders.mkdirs();//在java中用mkdir只能创建一个,mkdirs可以创建多级目录

  }
}

文件属性设置

package com.file;

import java.io.File;

/**
 * Created by elijahliu on 2017/2/11.
 */
public class SetFileProperty {
  public static void main(String[] args){
    File file = new File("test.file");
    if (file.exists()){
      file.setWritable(true);//可写
      file.setReadable(true);//可读
      file.setReadOnly();//只读
    }
  }
}

遍历文件夹

  public void printFiles(File dir,int tab) {//tab为不同目录结构的缩进量
    if (dir.isDirectory()) {
      File next[] = dir.listFiles();//判断如果是目录 则返回目录所有的文件名数组用于遍历文件夹
      for (int i = 0;i<next.length;i++) {//层次缩进输出
        System.out.print("---");
      }
      for(int i = 0;i<next.length;i++) {//这里用了递归获取目录结构
        System.out.println(next[i].getName());
        if (next[i].isFile()) {
          printFiles(next[i],++tab);

        }
      }
    }
  }

文件简单读写

package com.file;

import java.io.*;

/**
 * Created by elijahliu on 2017/2/11.
 */
public class ReadFile {
  public static void main(String[] args) {
    File file = new File("new Hello.txt");
    if(file.exists()){
      System.err.print("exsit");
      try (FileInputStream fis = new FileInputStream(file)) {//文件输入流 这是字节流

        InputStreamReader isr = new InputStreamReader(fis,"UTF-8");//inputstreamReader是一个字节流,将字节流和字符流转化的时候,就需要制定一个编码方式,不然就会乱码
        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) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
    File newfile = new File("newtext.txt");
    try {
      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("done");
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }

  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java中对文件操作  # java  # 文件操作  # 文件读写  # java进行文件读写操作详解  # Java最全文件操作实例汇总  # java文件操作工具类  # java对同一个文件进行读写操作方法  # 一文带你详细认识文件与Java中操作文件  # 重命名  # 遍历  # 不存在  # 递归  # 的是  # 这是  # 就会  # 已被  # 中有  # 用了  # 二十一  # 一个字  # 而这  # 后将  # 不负责任  # 创建一个  # 大家多多  # 是否存在  # 新建一个  # 判断是否 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 敲碗10年!Mac系列传将迎来「触控与联网」双革新  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  历史网站制作软件,华为如何找回被删除的网站?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何确保FTP站点访问权限与数据传输安全?  如何基于云服务器快速搭建网站及云盘系统?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel怎么实现模型属性的自动加密  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  黑客入侵网站服务器的常见手法有哪些?  如何用AWS免费套餐快速搭建高效网站?  简单实现Android文件上传  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何确认建站备案号应放置的具体位置?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  成都网站制作公司哪家好,四川省职工服务网是做什么用?  公司网站制作价格怎么算,公司办个官网需要多少钱?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  C++时间戳转换成日期时间的步骤和示例代码  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何快速重置建站主机并恢复默认配置?  简历没回改:利用AI润色让你的文字更专业  创业网站制作流程,创业网站可靠吗?  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Laravel Docker环境搭建教程_Laravel Sail使用指南  如何在企业微信快速生成手机电脑官网?  无锡营销型网站制作公司,无锡网选车牌流程?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  三星、SK海力士获美批准:可向中国出口芯片制造设备  *服务器网站为何频现安全漏洞?  在线制作视频网站免费,都有哪些好的动漫网站?  如何在阿里云部署织梦网站?  Laravel怎么清理缓存_Laravel optimize clear命令详解  LinuxShell函数封装方法_脚本复用设计思路【教程】  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel如何使用withoutEvents方法临时禁用模型事件  在Oracle关闭情况下如何修改spfile的参数  Laravel中的withCount方法怎么高效统计关联模型数量  如何实现建站之星域名转发设置?