您的位置:首页 > 其它

File对象的一些基本方法和一些练习

2015-04-08 20:52 281 查看
<pre name="code" class="java"><strong><span style="font-size:32px;">1、常见方法</span></strong>
<span style="font-size:18px;">package IO_File;

import java.io.File;
import java.io.IOException;

<span style="color:#33ff33;">/**
* File对象的常见操作 1、创建
*
* 2、删除
*
* 3、判断
*
* 4、获取信息
*
*/</span>
public class FileDemo02 {
<span style="color:#33ff33;">// 创建,删除</span>
public static void demo01() throws IOException {
File f1 = new File("f.txt");
f1.createNewFile();<span style="color:#33ff33;">// 在定位置创建文件,如果存在返回false,不创建,否则返回true</span>
File f2 = new File("ab");
f2.mkdir();<span style="color:#33ff33;">// 创建一个文件夹</span>

File f3 = new File("b:\\abc\\hh");
f3.mkdirs();<span style="color:#33ff33;">// 创建多级目录的文件夹</span>

f2.delete();<span style="color:#33ff33;">// 删除文件,删除失败返回false</span>
f3.deleteOnExit();<span style="color:#33ff33;">// 在文件提出是删除文件。
</span>
}

<span style="color:#33ff33;">// 判断</span>
public static void demo02() throws IOException {
File f1 = new File("file.txt");
f1.exists();<span style="color:#33ff33;">// 判断文件是否存在,不存在返回false</span>
f1.canRead();<span style="color:#33ff33;">// 文件是否可读</span>
f1.canWrite();<span style="color:#33ff33;">// 文件是否可写</span>
f1.canExecute();<span style="color:#33ff33;">// 文件是否可执行</span>

f1.isFile();<span style="color:#33cc00;">// 是不是文件</span>
f1.isDirectory();<span style="color:#33ff33;">// 是不是文件目录</span>
f1.isAbsolute();<span style="color:#66ff99;">// 文件是不是绝对路径</span>
f1.isHidden();<span style="color:#99ff99;">// 是不是隐藏文件</span>

}

<span style="color:#99ff99;">// 获取信息</span>
public static void demo03() throws IOException {
File f1 = new File("file.txt");
f1.getName();<span style="color:#99ff99;">// 获取文件名称</span>
f1.getPath();<span style="background-color: rgb(153, 255, 153);">// 返回路径</span>
f1.getParent();<span style="background-color: rgb(153, 255, 153);">// 文件必须指定路径,如果为相对路径,返回为空。</span>

f1.getAbsoluteFile();<span style="color:#99ff99;">// 获取绝对路径.并封装为File对象</span>
f1.getAbsolutePath();<span style="color:#99ff99;">// 获取绝对路径.返回字符串</span>
f1.length();<span style="background-color: rgb(153, 255, 153);">// 获取文件大小</span>
f1.lastModified();<span style="background-color: rgb(153, 255, 153);">// 获取最后修改时间</span>

System.out.println(f1.getPath());

}

public static void demo04() throws IOException {
File[] f = File.listRoots();<span style="background-color: rgb(153, 255, 153);">// 获取可用盘符</span>
for (File file : f) {
System.out.println(file);
}
System.out.println("-----------------------------------------------------------");
File file = new File("g:\\c");
String[] s = file.list();<span style="background-color: rgb(102, 255, 153);">// 获取目录下所有文件和文件夹名称,包括隐藏文件
// 调用list方法的file对象必须封装一个目录,该目录必须存在</span>
for (String string : s) {
System.out.println(string);
}

}
public static void main(String[] args) throws IOException {
// demo01();
// demo03();
demo04();
}

}
</span>



<span style="font-size:32px; font-family: Arial, Helvetica, sans-serif;">练习1</span>
package IO_File;

import java.io.File;

<span style="color:#33ff33;">/**
* 文件删除操作 原理,从里往外删,需要用到递归原理
*/</span>
public class FileDemo03 {

public static void main(String[] args) {
File  f=new File("G:\\JAVAEE_01");
remove(f);
}

public static void remove(File file) {
File[] f = file.listFiles();<span style="color:#33ff33;">// 获取所有的文件夹</span>
for (int i = 0; i < f.length; i++) {
if (f[i].isDirectory()) {<span style="color:#33ff33;">//如果还是文件夹</span>
remove(f[i]);<span style="color:#33ff33;">//递归</span>
}
else {
System.out.println(f[i].toString()+"------------------------------"+f[i].delete());
}

}
System.out.println(file.toString()+"------------------------------"+file.delete())<span style="color:#33ff33;">;//删除文件夹</span>
}

}
<pre name="code" class="java"><span style="font-size:32px; font-family: Arial, Helvetica, sans-serif;">练习2</span>



package IO_File;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

<span style="color:#33ff33;">/**
* 练习:对指定目录下的java文件的绝对路径转存到一个文件中,方便查找 思路: 1、对指定的目录进行递归 2、获取所有指定java文件的路径
* 3、将路径存储到一个集合当中 3、将集合数据写到一个文件中去
*
*/
</span>
public class FileDemo04 {

public static void main(String[] args) throws IOException {
File file = new File("E:\\Myeclipc Wo\\java基础学习_");<span style="color:#33ff33;">//指定文件目录</span>
List<File> list = new ArrayList<File>();<span style="color:#33ff33;">//集合</span>
demo01(file, list);

System.err.println(list.size() + "-----");
File f = new File(file, "aaaa.txt");
demo02(list, f.toString());
}

public static void demo01(File file, List<File> list) {
File[] f = file.listFiles();<span style="color:#33ff33;">// 获取所有文件夹</span>

for (File file2 : f) {
if (file2.isDirectory()) {<span style="color:#33ff33;">// 判断是否是文件夹</span>
demo01(file2, list);<span style="color:#33ff33;">// 递归调用</span>
} else {
if (file2.getName().endsWith(".java")) {<span style="color:#33ff33;">// 判断后缀名</span>
list.add(file2.getAbsoluteFile());<span style="color:#33ff33;">// 获取绝对路径,将路径添加到集合</span>
}

}
}

}

public static void demo02(List<File> list, String name) throws IOException {
BufferedWriter bWriter = new BufferedWriter(new FileWriter(name));

for (File file : list) {
String s = file.getAbsolutePath();<span style="color:#33ff33;">// 获取绝对路径</span>
bWriter.write(s);
bWriter.newLine();<span style="color:#33ff33;">// 换行</span>
bWriter.flush();
}

bWriter.close();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: