Java学习笔记 -IO流3:File
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java学习笔记 -IO流3:File,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2977字,纯文字阅读大概需要5分钟。
内容图文
![Java学习笔记 -IO流3:File](/upload/InfoBanner/zyjiaocheng/631/53ab86017f4447ce8353177f793843fa.jpg)
1.基本概念
- File类和四大家族没有关系,所以File类不能完成文件的读写
- 一个File对象是目录名或者文件的抽象表示形式
示例程序
public class FileTest01 {
public static void main(String[] args) throws IOException {
File file = new File("D:\\file");
//判断是否存在
System.out.println(file.exists());
if(!file.exists()) {
//以文件的形式新建
file.createNewFile();
}
if(!file.exists()){
//以目录的形式新建
file.mkdir();
}
if(!file.exists()){
File f2 = new File("D:/a/b/c");
//以多重目录创建
f2.mkdirs();
}
}
}
2.常用方法
public class FileTest02 {
public static void main(String[] args) {
File f1 = new File("D:\\迅雷下载");
//获取绝对路径名
System.out.println(f1.getAbsoluteFile());
//获取文件名
System.out.println("文件名:" + f1.getName());
//判断是否是一个目录
System.out.println(f1.isDirectory());
//判断是否是一个文件
System.out.println(f1.isFile());
//获取文件最后一次修改的时间
long haoMiao = f1.lastModified(); //从1970开始的总毫秒数
Date time = new Date(haoMiao);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:mm:ss SSS");
String strTime = sdf.format(time);
System.out.println(strTime);
//获取文件的大小 (单位:字节)
System.out.println(f1.length());
//获取当前目录下所有子文件
File[] files = f1.listFiles();
for(File f : files){
System.out.println(f.getName());
}
}
}
(重点)3.目录拷贝模板程序
- 总结:"\"是因为转义的原因才有两个"",实际上在字符串中只有1个
- (错误总结)文件拷贝编写程序的时候需要注意:不要将srcFile、desFile设置为一个目录,而是设置为目录\文件名,落实到文件上才不会出错
public class FileCopy {
public static void main(String[] args) {
File srcFile = new File("D:\\Aseprite");
File desFile = new File("D:\\迅雷下载");
FileCopy.create(srcFile, desFile);
}
/**
* 目录拷贝
* @param srcFile 源目录
* @param desFile 目标目录
*/
public static void create(File srcFile, File desFile){
//需要强调:"\\"是因为转义的原因才有两个"\",实际上在字符串中只有1个
String desDtr = desFile.getAbsolutePath().endsWith("\\") ? desFile.getAbsolutePath() :
desFile.getAbsolutePath() + "\\" + srcFile.getName();
desFile = new File(desDtr);
//如果是一个文件,则直接进行拷贝
if(srcFile.isFile()){
copy(srcFile,desFile);
}
//如果是一个目录,则首先将此目录创建出来,然后递归
else if(srcFile.isDirectory()){
desFile.mkdir();
File[] files = srcFile.listFiles();
for(File f : files){
create(f, desFile);
}
}
}
/**
* 文件拷贝
* @param srcFile 源目录
* @param desFile 目标目录
*/
public static void copy(File srcFile , File desFile){
System.out.println(srcFile.getName());
System.out.println(desFile.getName());
System.out.println();
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(srcFile);
fos = new FileOutputStream(desFile);
byte[] bytes = new byte[1024 * 1024];
int retValue = 0;
while((retValue = fis.read(bytes)) != -1){
fos.write(bytes, 0, retValue);
}
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fis != null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos != null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
内容总结
以上是互联网集市为您收集整理的Java学习笔记 -IO流3:File全部内容,希望文章能够帮你解决Java学习笔记 -IO流3:File所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。