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


相关推荐

  • 用什么软件写html语言,写html代码用什么软件

    用什么软件写html语言,写html代码用什么软件写html代码的软件:1、SublimeText;2、Dreamweaver;3、WebStorm;4、HBuilder;5、Notepad;6、VSCode;7、Vim;8、AptanaStudio;9、IntelliJIDEA。本教程操作环境:windows7系统、HTML5版、DellG3电脑。1、SublimeTextSublimeText是一个跨平台的代码编辑器,同时支持W…

    2022年5月30日
    59
  • onpropertychange事件(on intention)

    onpropertychange事件(on intention)IE下,当一个HTML元素的属性改变的时候,都能通过onpropertychange来捕获。例如一个对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。(是实时性捕捉到的)也就是说:onpropertychange能及时捕获属性值的变化,而onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件!

    2022年4月18日
    119
  • 高级I/O函数之sendfile函数[通俗易懂]

    高级I/O函数之sendfile函数[通俗易懂]sendfile函数在两个文件描述符之间传递数据(完全在内核中操作),从而避免了内核缓冲区和用户缓冲区之间的数据拷贝,效率很高,被称为零拷贝。函数定义为:#include&lt;sys/sendfile.h&gt;ssize_tsenfile(intout_fd,intin_fd,off_t*offset,size_tcount);in_fd参数是待读出内容的文件描述符,out…

    2022年5月10日
    36
  • 《JavaScript 模式》读书笔记(6)— 代码复用模式3

    我们之前聊了聊基本的继承的概念,也聊了很多在JavaScript中模拟类的方法。这篇文章,我们主要来学习一下现代继承的一些方法。九、原型继承下面我们开始讨论一种称之为原型继承(prototype

    2022年3月25日
    46
  • Redis客户端中文乱码[通俗易懂]

    Redis客户端中文乱码[通俗易懂]Redis客户端中文乱码$redis-cliredis127.0.0.1:6379&gt;set’name”中文’OKredis127.0.0.1:6379&gt;get’name’"\xd6\xd0\xce\xc4"redis127.0.0.1:6379&gt;客户端查看乱码,这个情况我们只要将修改客户端命令行就可以。redis-cli –raw$r…

    2022年5月7日
    231
  • 使用 BasePage 来解决 GridView 执行 RenderControl 产生的错误

    使用 BasePage 来解决 GridView 执行 RenderControl 产生的错误摘要GridView控件常有需要汇出Excel的需求,一般都是将GridView使用RenderControl来输出其HTML程序代码。本文即在讨论RenderControl所产生的问题及解决方式,不过本文是透过BasePage的方式,让RenderControl的相关处理动作更简化。手动解决RenderControl所产生的问题下面的Contr…

    2022年7月20日
    17

发表回复

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

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