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

来源:互联网 发布:大唐麻将辅助软件 编辑:程序博客网 时间:2024/05/29 04:50
<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();}}




0 0