java基础—java的Io操作学习(1)

学习java的Io操作(1)

大家好,又见面了,我是全栈君。

今天开始学习java的Io操作,自己写了一些简单的Io操作!

package com.dufy.io;

import java.io.File;

/**
 * 
 * 练习IO操作 first <br/>
 * 代码是写出来的,不是看出来的,我是阿飞-aflyun <br/>
 * 在路上! 
 * @author aflyun
 * @email 742981086@qq.com
 *
 */
public class TestFisrtIo {

	public static void main(String[] args) {
		printConstant();
		createFolder();//1:创建一个新的文件夹
		createFile();//2:创建一个新的文件
		//deleteFolder();//3:删除一个文件夹
		//deleteFile();//4:删除一个文件
		list();//5:列出指定目录的全部文件(包括隐藏文件)
		listFile();//6:列出指定目录的全部文件(包括隐藏文件)
		isFolderOrFile();//7:判断是文件夹还是文件
		//8:查找指定目录的文件夹和文件
		String pathName = "E:"+ File.separator+"repository_git";
		File file = new File(pathName);
		findAllFf(file);
		
	}
	/**
	 * File类的两个常量
	 */
	public static void printConstant() {
		System.out.println(File.separator);	//打印结果  \
		System.out.println(File.pathSeparator);	//打印结果  ;
		//注:在使用中为了我们程序的可移植性和健壮性,建议使用 这两个常量
	}

	/**
	 * 1:创建一个新的文件夹(包括创建多层目录文件夹)
	 * boolean mkdir()  创建此抽象路径名指定的目录。  
 	 * boolean mkdirs()  创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。  
	 */
	public static void createFolder() {
		String folderName1 = "E:"+ File.separator+"/firstFolder1";
		String folderName2 = "E:"+ File.separator+"/firstFolder2/test/hello";
		File file1 = new File(folderName1);
		file1.mkdir(); //创建文件夹 在E:/firstFolder 
		File file2 = new File(folderName2);	//创建文件夹 在/firstFolder/test/hello
		file2.mkdirs();
	}
	/**
	 * 2:创建一个新的文件
	 */
	public static void createFile() {
		String fileName = "E:"+ File.separator+"/firstFile.txt";
		File file = new File(fileName);
		//使用try catch 捕获异常
		try {
			file.createNewFile();
			//createTempFile(prefix, suffix); createTempFile("tmp", ".txt"); 创建临时文件,默认在c:下
			//createTempFile(prefix, suffix, directory); 指定的目录创建临时文件
		} catch (Exception e) { 
			e.printStackTrace();
		}
	}
	/**
	 * 3:删除一个文件夹
	 */
	public static void deleteFolder() {
		String folderName = "E:"+ File.separator+"/firstFolder1";
		File file = new File(folderName);
		if(file.exists()){
			file.delete();
		}else{
			System.out.println("文件夹不存在!");
			
		}
			
	}
	/**
	 *  4:删除一个文件
	 */
	public static void deleteFile() {
		String fileName = "E:"+ File.separator+"/firstFile.txt";
		File file = new File(fileName);
		if(file.exists()){
			file.delete();
		}else{
			System.out.println("文件不存在!");
			
		}
	}
	/***
	 * 5:列出指定目录的全部文件(包括隐藏文件)
	 * 使用file.list()列出的不是完整路径,返回的是String数组
	 */
	public static void list() {
		File file = new File("E:"+ File.separator);
		String[] list = file.list();
		for (String string : list) {
			System.out.println(string);
		}
	}
	/**
	 * 6:列出指定目录的全部文件(包括隐藏文件)
	 * 使用file.listFiles(),列出完整路径,返回的是File的数组
	 */
	public static void listFile() {
		File file = new File("E:"+ File.separator);
		File[] listFiles = file.listFiles();
		for (File file2 : listFiles) {
			System.out.println(file2);
		}
	}
	/**
	 * 7:判断是文件夹还是文件
	 */
	public static void isFolderOrFile() {
		String folderName = "E:"+ File.separator+"/firstFolder1";
		String fileName = "E:"+ File.separator+"/firstFile.txt";
		File f1 = new File(folderName);
		File f2 = new File(fileName);
		if(f1.isDirectory()){
			System.out.println("is Directory");
		}
		if(f2.isFile()){
			System.out.println("is File");
		}
	}
	/**
	 * 8:查找指定目录的文件夹和文件
	 */
	public static void findAllFf(File f) {
		if(f != null){
			if(f.isDirectory()){
				System.out.println(f);
				File[] listFiles = f.listFiles();
				for (File file : listFiles) {
					findAllFf(file);//递归
				}
			}else{
				System.out.println(f);
			}
		}
		
	}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121270.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 下午4:00
下一篇 2022年2月24日 下午4:00


相关推荐

  • java经典源码_java经典源代码[通俗易懂]

    java经典源码_java经典源代码[通俗易懂]Java100个经典小程序_计算机软件及应用_IT/计算机_专业资料。Java100个经典小程序【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字……()A、编写源代码B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹C、编译过程D、解释执行85.Java的字符类型采用的是Unicode编码方案……15个经典…

    2022年7月9日
    23
  • Linux quotacheck失败

    Linux quotacheck失败  我找了多少个帖子才发现解决这个问题的啊…最终还是靠FQ找的这位大佬的文章http://www.2daygeek.com/quotacheck-error/#  当我在执行quotacheck-avug的时候出现如下的错误:quotacheck:无法从/dev/sdb1上的文件名猜测其格式,请在命令行中指定一个确切的格式。quotacheck:Ca…

    2025年8月15日
    5
  • Echarts柱状图x轴刻度间隔显示不全/刻度间隔全部显示-xaxis

    Echarts柱状图x轴刻度间隔显示不全/刻度间隔全部显示-xaxis在初步接触 Echarts 时 经常遇到柱状图的坐标刻度显示不全的问题 如下图 xAxis type category data 主机故障 主机连接超时 水泵流量错误 水泵离线 一次潜水泵离线 温控器离线 风机离线 axisTick

    2026年3月18日
    2
  • linux添加路由提示不允许的操作_Linux修改默认路由

    linux添加路由提示不允许的操作_Linux修改默认路由1、linux添加路由、查看路由状态、删除路由如下添加路由:routeadd-net192.168.1.44netmask255.255.255.0gw192.168.1.1查看路由状态:route-n删除路由:routedel-net192.168.20.0netmask255.255.255.02、如果想让重启也生效,可以把添加路由命令写在/etc/rc.local中,即可vi/etc/rc.local在最后加下如下routeadd-net192.1

    2026年4月16日
    7
  • Intellij IDEA快捷键大全(超详细)

    Intellij IDEA快捷键大全(超详细)IntellijIDEA快捷键大全(超详细)

    2022年5月15日
    66
  • 微信公众平台开发相关工具

    微信公众平台开发相关工具微信公众平台开发相关工具:一、外网代理工具:下载QQ浏览器,“微信调式工具插件” 地址:chrome-extension://kghjlmdefodljabnacklekelfimgalmi/server.html# 二、微信公众平台测试帐号接口:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login …

    2022年8月21日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号