黑马程序员——java基础——文件File
来源:互联网 发布:iphone手机数据恢复 编辑:程序博客网 时间:2024/04/29 05:02
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
File类:
1:用来将文件或者文件夹封装成对象
2:方便文件或者文件夹进行操作
3:File对象可以作为参数传递给流的构造函数
4:了解File类的常用方法
5: 一个File类的对象,表示了磁盘上的文件或目录
6: File类提供了与平台无关的方法来对磁盘上 的文件或目录进行操作
7: File类直接处理文件和文件系统。•8:File类没有指定信息怎样从文件读取或向文件存储
8: File类描述了文件本身的属性
9:File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径
10:File类还可以浏览子目录层次结构
11:java.io包中的File类提供了与具体平台无关的方式来描述目录和文件对象的属性功能。其中包含大量的方法可用来获取路径、目录和文件的相关信息,并对它们进行创建删除、改名等管理工作。因为不同的系统平台,对文件路径的描述不尽相同。为做到平台无关,在Java语言中,使用抽象路径等概念。Java自动进行不同系统平台的文件路径描述与抽象文件路径之间的转换。
12:File类的直接父类是Object类。
13:下面的构造方法可以用来生成File 对象:
File(String directoryPath)
File(String directoryPath, String
filename)
File(File dirObj, String filename)
这里,directoryPath是文件的路径名,filename 是文件名,dirObj 是一个指定目录的File 对象
举例说明:
File myFile = new File(" myfile. txt");
File myDir = new File(" MyDocs");
File
这些构造方法取决于访问文件的方式。例如,若在应用程序里只用一个文件,第一种创建文件的结构是最容易的。但若在同一目录里打开数个文件,则后种方法更好一些。
File类的构造函数代码演示:
<span style="font-size:18px;">package day07;import java.io.File;public class FileDaom {private void mian() {File file=new File("buff.txt");File file1=new File("D\\abc","buff1.txt");File d=new File("D\\adc");File file2=new File(d,"c.txt");System.out.println(file+""+file1+""+file2);// TODO Auto-generated method stub}}</span>
File类中的方法:
1.public String getName();
2.public boolean canRead();
3.public boolean canWrite();
4.public boolean exits();
5.public ling length();
6.public String getAbsolutePath();
7.public String getParent();
8.public boolean isFile();
9.public boolean isDirectory();
10.public boolean isHidden();
11.public logn lastModified();
方法代码演示:
<span style="font-size:18px;">package day07;import java.io.File;public class FileDeom1 {public static void main(String[] args) throws Exception{//创建文件对象File file=new File("D:\\file.txt");//创建文件boolean s=file.createNewFile();//判断文件是否存在boolean s1=file.exists();//创建文件夹file.mkdir();//判断是文件还是目录注意:在判断呢是文件还是目录必须先判断文件你是否存不存在。file.isFile();file.isAbsolute();//判断是否是绝对路径file.isHidden();//判断是否是隐藏文件file.isDirectory();File file2=file.getAbsoluteFile();//获取绝对路径String file3=file.getPath();//获取相对路径file.getParent();//获取绝对路径的父目录file.length();//获取文件呢大小//删除文件boolean s2=file.delete();System.out.println(s1+""+s2+""+s+""+file3+""+file2);}}</span>
练习列出目录下的所有子目录的所有文件代码演示:
<span style="font-size:18px;">package day07;import java.io.File;public class FileDeom2 {public static void main(String[] args) {File file=new File("D:\\");show(file);}private static void show(File file) {System.out.println(file);File[] files=file.listFiles();for(int x=0;x<files.length;x++){if(files[x].isDirectory())show(files[x]);else{System.out.println(files[x]);}}// TODO Auto-generated method stub}}</span>
这里运用到了递归的编程手法。
练习要求:
将一个指定目录下java文件的绝对路径,存储到文本文件中,建立java文件目录的列表清单
分析:
1:对指定的目录进行递归
2:获取递归过程中所有的java文件的路径
3:将这些路径存储到集合中
4:将集合中的数据写入到一个文件中
代码演示如下:
<span style="font-size:18px;">import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.List;public class FileDeom3 {public static void main(String[] args) throws IOException{File file=new File("D:\\javadaima");List<File> list=new ArrayList<File>();fileToList(file, list);File file1=new File("D:\\java.txt"); writeToFile(list,file1.toString()); }public static void fileToList(File file,List<File> list) {File[] files=file.listFiles();for(File file1:files){if(file1.isDirectory())fileToList(file1,list);else{if(file.getName().endsWith(".class"))//System.out.println(file.toString());list.add(file);}}}public static void writeToFile(List<File> list,String javalistfile) throws IOException{BufferedWriter buff=null;try {buff=new BufferedWriter(new FileWriter(javalistfile));for(File f : list){String path=f.getAbsolutePath();buff.write(path);buff.newLine();buff.flush();}} catch (IOException e) {// TODO Auto-generated catch blockthrow e;}finally{try{if(buff!=null)buff.close();}catch(IOException e){throw e;}}}}</span>
- 黑马程序员——java基础——文件File
- 黑马程序员——Java基础—IO流(File)
- 黑马程序员——Java基础---File、Properties、序列流
- 黑马程序员——Java基础---异常&File
- 黑马程序员——Java基础IO流之File
- 黑马程序员—Java基础—File类
- 黑马程序员—JAVA基础
- 黑马程序员—Java基础
- 黑马程序员——Java基础——File文件操作、Properties类、打印流、序列流
- 黑马程序员——java基础之文件复制
- 黑马程序员——File
- 黑马程序员——File
- 黑马程序员—File类
- 黑马程序员—File类
- 黑马程序员——Java基础——IO流笔记(File使用示例)
- 黑马程序员————java基础--------IO输入输出之异常、File类和递归
- 黑马程序员——Java基础——File、Properties类、 打印流、序列流
- 黑马程序员——Java基础——File、Properties类
- Java内部类
- PullToRefreshScrollView隐藏刷新布局(使刷新布局不显示)
- java并发-记一次统计变量值偏差问题
- 癫痫病应该注意什么
- TabHost基本实现(三)
- 黑马程序员——java基础——文件File
- 捷易通话费充值招代理加QQ398677951
- postgresql 备忘
- 刘奇-豌豆荚分布式redis的设计与实现
- 口吐白沫是癫痫吗
- 新闻客户端首页图片无限循环滚动展示(可点击触发不同事件)初步封装IOS
- 音频解码器madplay移植
- PHP学习问题
- 通过common-emai类库发送普通邮件和带有附件的邮件的完整示例