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