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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL JDBC StreamResult通信原理浅析

    MySQL JDBC StreamResult通信原理浅析好几年没写技术博客了,今天写一个小的技术点给大家分享,关于MySQLJDBCStreamResult的原理分享,难度不大,就当程序员的闲聊。如果使用MySQLJDBC读取过比较大的数据(例如超过1GB),应该清楚在读取的时候,很可能会Java堆内存溢出,我们的解决方案通常是使用useCursorFetch读取或Stream读取来处理。使用Stream读取的方式通常的操作方式是在执行SQL…

    2022年7月17日
    29
  • pycharm配置tensorflow环境_pycharm run configuration

    pycharm配置tensorflow环境_pycharm run configuration先要安装Pylint:我用的python3pip3installpylintpip3installflake8进入PyCharm,从菜单栏,依次进入:File->Settings->Tools->ExternalTools。“+”,进行添加。需要填写的部分分别是:“Name”,“ToolSettings->Programs”、“To…

    2022年9月13日
    0
  • 硬件SPI控制ST7789V「建议收藏」

    文章目录前言一、能用的方法有那些?1.利用硬件UART模拟SPI,实现9位数据发送2.搭建一个数字逻辑电路,人为实现9位spi发送3.发送两组8位SPI二、具体操作1.具体实现总结前言这段时间闲着没事,决定自己做个手表玩玩,参考了一些开源项目和数据手册,决定主控使用STM32F411CEU6,屏幕选用了淘宝一家商家的ST7789V主控的240*240分辨率的圆形tft屏幕。利用商家给的软件spi例程成功将屏幕点亮之后,尝试使用改为硬件spi的方式,加快屏幕的刷新速度但是尝试了多种方案后始终无法点亮,

    2022年4月9日
    603
  • n个进程访问一个临界资源,则设置的互斥信号量_多线程同步和互斥有几种实现方法

    n个进程访问一个临界资源,则设置的互斥信号量_多线程同步和互斥有几种实现方法一、【临界区】每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界 资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区, 进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程 必须互斥地对它进行访问。多个进程中涉及到同一个临界资源的临界区称为相关临界区。【进程进入临界区的调度原则】如果有若干进程要求进入空闲的临界区,一…

    2022年8月18日
    2
  • Lisp语言简介_c++是什么语言

    Lisp语言简介_c++是什么语言摘自维基百科,原链接为:http://zh.wikipedia.org/zh/LISP因为Clojure是Lisp的一种的方言,所以我们可以先来了解一下Lisp这个比较小众的编程到底是什么~—–

    2022年8月3日
    6
  • 分享88个搜索链接PHP源码,总有一款适合你

    分享88个搜索链接PHP源码,总有一款适合你PHP搜索链接源码分享88个搜索链接PHP源码,总有一款适合你链接:https://pan.baidu.com/s/1blE9zIxqA2_0ZVLiYUW4Zw提取码:758j下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下…,大家下载后可以看到。优客365精华版商业版v1.1.6PHP呆错导航系统源码v1.0.35162100网址导航3号v9.3.9Sphinxphp全文检索引擎forLinuxv3.3.1Sphinx全文检索引擎php版.

    2022年5月17日
    84

发表回复

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

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