一、创建文件的三种方法
第一种
@Test
public void create1()
{ String filePath = "D:\\file1.txt";
File file = new File(filePath);
try { file.createNewFile();
System.out.println("创建文件 1 成功");
} catch (IOException e) { e.printStackTrace(); }
}
第二种
@Test public void create2()
{ File parentFile = new File("D:\\");
String fileNane = "file2.txt";
File file = new File(parentFile, fileNane);
try { file.createNewFile();
System.out.println("文件 2 创建成功");
} catch (IOException e) { throw new RuntimeException(e); }
}
第三种、
@Test public void create3()
{ String parentPath = "d:\\";
String filePath = "file3.txt";
File file = new File(parentPath, filePath);
try { file.createNewFile();
System.out.println("文件 3 创建成功");
} catch (IOException e) { throw new RuntimeException(e); }
}
二、文件信息的查询
@Test
public void Info(){
//创建文件对象
File file = new File("D:\\file1.txt");
//调用相应方法,得到对应信息
System.out.println("文件名称:"+file.getName());
System.out.println("文件绝对路径:"+file.getAbsolutePath());
System.out.println("文件父目录:"+file.getParent());
System.out.println("文件大小(字节):"+file.length());
System.out.println("文件是否存在:"+file.exists());
System.out.println("是否是文件:"+file.isFile());
System.out.println("是否是目录:"+file.isDirectory());
}
三、目录
@Test
//删除文件
public void fileDelete() {
String filePath = "D:\\file1.txt";
File file = new File(filePath);
if (file.exists()) {
if (file.delete()) {
System.out.println(filePath + "删除成功");
} else {
System.out.println(filePath + "删除失败");
}
;
} else {
System.out.println("文件不存在");
}
}
//删除目录
@Test
public void fileDeleteD() {
String filePath = "D:\\file1.txt";
File file = new File(filePath);
if (file.exists()) {
if (file.delete()) {
System.out.println(filePath + "删除成功");
} else {
System.out.println(filePath + "删除失败");
}
;
} else {
System.out.println("目录不存在");
}
}
//判断目录是否存在,不存在就创建
@Test
public void fileDeleteD1() {
String dirPath = "D:\\test\\dir1.txt";
File file = new File(dirPath);
if (file.exists()) {
System.out.println(dirPath + "该目录已经存在");
} else {
if (file.mkdirs()) {
System.out.println("创建成功");
} else {
System.out.println("创建失败");
}
;
}
}
文件复制
public class copyPic {
//file 读和写实现复制文件
public static void main(String[] args) throws Exception {
//创建 file 对象
File f = new File("d:\\test.jpg");
//判断文件是否存在
if (f.exists()) {
System.out.println("test.jpg 存在,可以复制");
} else {
f.createNewFile();
System.out.println("test.jpg 不存在,新建成功,可以复制");
}
//创建 FileInputStream 对象
FileInputStream inp = new FileInputStream(f);
//创建 FileOutputStream 对象
//判断 demo 目录是否存在
File f1 = new File("d:\\demo");
if (f1.isDirectory()) {
FileOutputStream out = new FileOutputStream("e:\\demo\\" + f.getName());
byte bytes[] = new byte[1024];
int temp = 0; //边读边写
while ((temp = inp.read(bytes)) != -1) { //读
out.write(bytes, 0, temp); //写
}
//结束
inp.close();
out.close();
System.out.println("文件拷贝成功!");
} else {
//新建 demo 目录
f1.mkdir();
System.out.println("demo 目录不存在,已经新建成功,继续复制");
FileOutputStream out = new FileOutputStream("d:\\demo\\" + f.getName());
byte bytes[] = new byte[1024];
int temp = 0; //边读边写
while ((temp = inp.read(bytes)) != -1) { //读
out.write(bytes, 0, temp); //写
}
//结束
inp.close();
out.close();
System.out.println("文件拷贝成功!");
}
}
}