欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

File文件操作

程序员文章站 2022-06-23 19:03:23
1.创建文件package *****;import java.io.File;import java.io.IOException;public class **** {public static void main(String[] args) throws IOException {fileDemo1();fileDemo2();fileDemo3();fileDemo4();}// 创建目录public static void fileDem...

1.创建文件

package *****;

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

public class **** {
	
	public static void main(String[] args) throws IOException {
		fileDemo1();
		fileDemo2();
		fileDemo3();
		fileDemo4();
	}
	
// 创建目录
	public static void fileDemo1() {
		// 创建目录
		File file = new File("路径名");
		// 创建单级目录
		file.mkdir();
		// 创建多级目录
		file.mkdirs();
	}
	
// 创建文件	
	public static void fileDemo2() throws IOException {
		// 创建文件对象,需要指定文件所在路径
		File file = new File("路径名");
		// 判断文件是否存在
		if(file.exists()) {// 如果存在
			file.delete();	// 删除
		}
		file.createNewFile(); //否则创建文件
	}
	
// 判断文件类型
	public static void fileDemo3() {
		File file = new File("哈哈哈");
		System.out.println(file.canRead()); 	// 判断文件是否可读
		System.out.println(file.canWrite());	// 判断文件是否可写
		System.out.println(file.isDirectory()); // 判断是否有目录
		System.out.println(file.isFile()); 		// 判断是否有目录
	}
	
// 获取指定目录下第一级文件名列表
	public static void fileDemo4() {
		File file = new File("路径名");
		// 获取指定目录下所有文件的抽象路径名
		String[] tr = file.list();
		for(int i=0;i<tr.length;i++) {
			System.out.println(tr[i]);
		}
	}
	
}

2.遍历文件夹

package *****;

import java.io.File;

public class **** {

	public static void main(String[] args) {
		listMethod("路径名");
	}
	
	public static void listMethod(String path) {// path 是一个型参
		File file = new File(path); 			// 定义(File)文件夹
		File[] files = file.listFiles();		// 把此文件夹下目录存到File类型的files数组
		if(files != null) {						// 如果数组(文件夹)不为空
			for(int i=0;i<files.length;i++) {	// 循环这个数组
				if(files[i].isFile()) {			// isFile()如果该文件不是一个目录,是标准文件
					System.out.println(files[i].getName());	// 输出此文件名字
				}else {							// 是目录
					String filess = files[i].getName();// 得到目录下的名字(名字是字符串类型)
					listMethod(filess);			// 对此再进行返回判断
				}
			}
		}
	}
}

3.遍历文件死循环

package ****;

import java.io.File;

public class *** {
	public static void main(String[] args) {
		file5("路径名");
	}

	public static void file5(String path) {
		  File file = new File(path); // 创建一个File对象
		  File[] files = file.listFiles(); // 创建一个File数组把file对象下的文件目录存进去
		  if (files != null) { // 判断如果这个数组非空 也就是这个目录不是空目录的话就执行下一步操作否则执行else操作
		   for (int i = 0; i < files.length; i++) { // 循环这个数组
		    if (files[i].isFile()) { // 继续判断拿到的[i]是否是文件.不是文件的话执行else操作 是文件的话获取到文件名
		     System.out.println(files[i].getName());
		    } else {
		     String path2 = files[i].getPath(); // 如果不是文件就获取到[i]的路径
		     file5(path2); // 重新传值给file5();实现递归操作;
		    }
		   }
		  }
		 }
}

5.写入内容

package ***;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class **** {

	public static void main(String[] args) throws IOException {
		method();
	}
	
	public static void method() throws IOException {
		File file = new File("路径名");
		
		// 创建OutputStream,因为是要进行文件写的操作,所以要使用FileOutputStream对象
		OutputStream os = new FileOutputStream(file);
		// 开始写 将字符串转换为字节数组
		os.write("hello world".getBytes());
		// 换行要使用\r\n
		os.write("\r\n".getBytes());
		os.write(96); // 对应的ASCll码表
		// 通常来讲,写完之后需要进行保存,但是字节流可以自动保存
		// 强调:流的使用一定要关闭
		os.close();
	}
}

本文地址:https://blog.csdn.net/qq_49641620/article/details/110006771

相关标签: java