最近想看些Java基础NIO的东西,但有大神说得先懂IO再看NIO于是乎又重新认识一下IO。
话说网上有不少关于IO的文章,也帮助了我不少。那么我也本着人人为我,我为人人的宗旨贡献几篇系统的学习,也顺便记录一下学习的过程希望能帮助到别人。那么Java IO到底都具体有哪些类,做了什么东西呢?java编程思想有云java1.0起初编写java io目的就是为了减少IO类使它使用更方便一些。但是看到这一坨坨类就被生生的打脸了。
这是还是部分类截图O(∩_∩)O~。。。
那么这么多类我们要怎么开始学习呢?那么博主就带你走进IO的世界 come on !!!gogogo 。看java编程思想上讲解IO就是先从File类说起那么我也学学他先说一下File类!
首先我们创建一个文件:
public static void CreateFile(){
String pathName = "d:"+File.separator+"javaIOStudy.txt";
File f = new File(pathName);
try {
f.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
执行后再我们的D盘就会生成一个javaIOStudy.txt的文件,这里要说一下【File.separator】根据源码可以得知它可以在UNIX系统中转换为"\",在windows系统中转换为"\\"。
那我们再删除这个文件
public static void DelFile(){
String pathName = "D:"+File.separator+"javaIOStudy.txt";
File f = new File(pathName);
f.delete();
}
D盘下txt文件消失
创建一个文件夹
public static void CreateFileDir(){
String pathName ="D:"+File.separator+"javaIOStudy";
File f = new File(pathName);
//Creates the directory named by this abstract pathname.
//(源码翻译)根据这个绝对路径创建一个文件夹,言外之意如果这个路径找不到就返回False创建失败.例如d:\javaIOStudy\test1这个就会创建失败
f.mkdir();
/* Creates the directory named by this abstract pathname, including any
* necessary but nonexistent parent directories. Note that if this
* operation fails it may have succeeded in creating some of the necessary
* parent directories.
*/
//(源码翻译)根据指定的pathname创建文件目录,但创建过程中会产生父级目录。需要注意的是如果最终操作失败,它可能已经成功创建了父级目录.
//综合以上两个方法如果你的目录为D:\\aaa那么可以使用f.mkdir() 如果目录为D:\\aaa\\bbb\\ccc那么就必须使用f.mkdirs()
f.mkdirs();
}
这段代码中的注释明确指出了f.mkdir()和f.mkdirs()方法的具体含义,我就不再过多阐述。
遍历D盘下文件名称【包括隐藏文件】
public static void FileNameListByPathName(){
String pathName = "d:"+File.separator;
File f = new File(pathName);
String[] fileName = f.list(); //f.list()方法返回的只是文件名称数组
for(String str : fileName){
System.out.println(str);
}
}
遍历指定目录下的文件[包括隐藏文件]
public static void FileListByPathName(){
String pathName = "D:"+File.separator+"opt"+File.separator+"argo"+File.separator+"log";
File f = new File(pathName);
File[] file = f.listFiles();//f.listFiles()返回文件的数组
for(File tempF : file){
System.out.println(tempF.getName()+"PathBy:"+tempF.getPath());
}
}
判断一个路径是否是一个目录 public static void FilePathNameIsDir(){
String pathName = "D:"+File.separator;
File f = new File(pathName);
if(f.isDirectory())
System.out.println("是一个路径哦");
else
System.out.println("并不是一个路径");
}
以上为我总结的File类的基本用法,当然还有很多没有说清楚,但是学习就是循环渐进,有时候先学会用着回头再来看又会多层理解。这也许就是学而时习之可以为师矣吧,IO类还没有说完,我们未完待续。。。。