您的位置:首页 > 编程语言 > Java开发

访问文件和目录

2016-04-26 20:29 363 查看
<span style="font-size:12px;"><span style="font-family: Arial; line-height: 26px;"></span></span><pre name="code" class="java"><span style="font-size:12px;"><span style="font-family: Arial; line-height: 26px;">  </span></span><span style="font-weight: bold; font-family: Arial; font-size: 12px;">创建File对象</span><span style="font-size: 12px;"><span style="font-family: Arial; line-height: 26px;">
public File(String pathname)该示例中使用一个文件路径表示一个File类的对象,例如:
<span style="white-space:pre">	</span>File f1 = new File(“d:\test\1.txt”);
<span style="white-space:pre">	</span>File f2 = new File(“1.txt”);
<span style="white-space:pre">	</span>File f3 = new File(“e:\abc”);
这里的f1和f2对象分别代表一个文件,f1是绝对路径,而f2是相对路径,f3则代表一个文件夹,文件夹也是文件路径的一种。
public File(String parent, String child)也可以使用父路径和子路径结合,实现代表文件路径,例如:
<span style="white-space:pre">	</span> File f4 = new File(“d:\test\”,”1.txt”);这样代表的文件路径是:d: est1.txt。</span></span>
<span style="font-size: 12px;"><span style="font-family: Arial; line-height: 26px;"></span></span><pre name="code" class="java" style="line-height: 26px;"><span style="font-family: Arial;">  </span><span style=" font-family: Arial;"><strong>File类常用方法</strong></span>


public boolean createNewFile() throws IOException该方法的作用是创建指定的文件。该方法只能用于创建文件,不能用于创建文件夹,且文件路径中包含的文件夹必须存在。public boolean delete()该方法的作用是删除当前文件或文件夹。如果删除的是文件夹,则该文件夹必须为空。如果需要删除一个非空的文件夹,则需要首先删除该文件夹内部的每个文件和文件夹,然后在可以删除,这个需要书写一定的逻辑代码实现。

public boolean deleteOnExist()deleteOnExit()在程序结束时将当前File对象所表示的文件或目录删除。该方法没有返回值。该删除方法一旦调用,无法取消。用于临时文件的删除。

public boolean exists()该方法的作用是判断当前文件或文件夹是否存在。public String getAbsolutePath()该方法的作用是获得当前文件或文件夹的绝对路径。例如c: est1.t则返回c: est1.t.public
String getName()该方法的作用是获得当前文件或文件夹的名称。例如c: est1.t,则返回1.t.public String getParent()该方法的作用是获得当前路径中的父路径。例如c: est1.t则返回c: est.public
boolean isDirectory()该方法的作用是判断当前File对象是否是目录。public boolean isFile()该方法的作用是判断当前File对象是否是文件。public long length()该方法的作用是返回文件存储时占用的字节数。该数值获得的是文件的实际大小,而不是文件在存储时占用的空间数。public
String[] list()// 并不包含其属性。如果当前对象是一个目录,则返回一个String数组该方法的作用是返回当前文件夹下所有的文件名和文件夹名称。说明,该名称不是绝对路径。public File[] listFiles()//如果当前对象是一个目录,则返回一个File数组该方法的作用是返回当前文件夹下所有的文件对象。包含其属性。public
boolean mkdir()
<span style="color:#ff0000;">创建此抽象路径名称指定的目录(及只能创建一级的目录,且需要存在父目录)</span>
该方法的作用是创建当前文件文件夹,而不创建该路径中的其它文件夹。假设d盘下只有一个test文件夹,则创建d: estabc文件夹则成功,如果创建d:a文件夹则创建失败,因为该路径中d:a文件夹不存在。如果创建成功则返回true,否则返回false.public boolean mkdirs()

该方法的作用是创建文件夹,如果当前路径中包含的父目录不存在时,也会自动根据需要创建。
<span style="color:#ff0000;">创建此抽象路径指定的目录,包括所有必须但不存在的父目录。(及可以创建多级目录,无论是否存在父目录)</span>
public boolean renameTo(File dest)

该方法的作用是修改文件名。在修改文件名时不能改变文件路径,如果该路径下已有该文件,则会修改失败。public boolean setReadOnly()

该方法的作用是设置当前文件或文件夹为只读。

<span style="font-size:12px;"><span style="font-family: Arial; line-height: 26px;"><strong>绝对路径和相对路径
</strong>         绝对路径是指书写文件的完整路径,例如d:javaHello.java,该路径中包含文件的完整路径d:java以及文件的全名Hello.java。使用该路径可以唯一的找到一个文件,不会产生歧义。但是使用绝对路径在表示文件时,受到的限制很大,且不能在不同的操作系统下运行,因为不同操作系统下绝对路径的表达形式存在不同。
         相对路径是指书写文件的部分路径,例如 est Hello.java,该路径中只包含文件的部分路径 est和文件的全名Hello.java,部分路径是指当前路径下的子路径,例如当前程序在d:abc下运行,则该文件的完整路径就是d:abc est。使用这种形式,可以更加通用的代表文件的位置,使得文件路径产生一定的灵活性。</span></span>
<span style="font-size:12px;"><span style="font-family: Arial; line-height: 26px;"><span style="white-space:pre"></span></span></span><pre name="code" class="java"><span style="font-size:12px;"><span style="font-family: Arial; line-height: 26px;"><strong>显示或更改文件属性</strong></span></span>
cmd "attrib /?" 显示或更改文件属性
(1)设置只读Runtime.getRuntime().exec("attrib \"" + file.getAbsolutePath() + "\" +R");
(2)设置可写Runtime.getRuntime().exec("attrib \"" + file.getAbsolutePath() + "\" -R");
(3)设置隐藏Runtime.getRuntime().exec("attrib \"" + file.getAbsolutePath() + "\" +H");
(4)设置非隐藏Runtime.getRuntime().exec("attrib \"" + file.getAbsolutePath() + "\" -H");

<span style="font-size:12px;"><span style="font-family: Arial; line-height: 26px;"></span></span><pre name="code" class="java" style="line-height: 26px;"><span style="font-family: Arial;"><strong>系统属性</strong></span>
System.getProperties()获得系统属性的当前集合

System.setProperties("系统属性","属性值")设置系统属性

System.clearProperties("系统属性");清除系统属性的当前值

<strong><span style="font-size:14px;color:#ff0000;">Code:</span></strong>
<span style="color:#ff0000;">import java.io.File;
import java.io.IOException;
public class demo2 {
public static void main(String[] args)throws IOException {
java.util.Properties properties = System.getProperties();
<span style="white-space:pre">		</span>properties.list(System.out);</span><pre name="code" class="java"><span style="font-family: Arial; line-height: 26px;"><span style="font-size:10px;"><strong></strong></span></span>
File file1 = new File("D:\\users.txt");
<span style="color:#ff0000;"><span style="white-space:pre">		</span>System.out.println(file1.exists());//true 文件或者目录返回true</span>
System.out.println(file1.isFile());//true 文件返回ture
<span style="color:#ff0000;"><span style="white-space:pre">		</span>System.out.println(file1.isDirectory());//false 目录返回true</span>
System.out.println(file1.setReadOnly());System.out.println("*********************");File
file2 = new File("D:\\H\\G");System.out.println(file2.getAbsolutePath()+(file2.mkdirs()? "创建成功":"创建失败"));System.out.println(file2.getAbsolutePath()+(file2.delete()?"删除成功":"删除失败"));//删除当前File对象表示的文件或目录System.out.println("*********************");Process process
=
a7e9
Runtime.getRuntime().exec("attrib \""+file.getAbsolutePath()+"\" -H");//设置文件非隐藏System.out.println(process.toString());System.out.println("*********************");File file3 = new File("D:\\test.txt");System.out.println(file3.getAbsolutePath()+(file3.createNewFile()?"创建成功":"创建失败"));System.out.println(file3.getAbsolutePath()+(file3.delete()?"删除成功":"删除失败"));
<span style="color:#ff0000;"><span style="white-space:pre">		</span>System.out.println("*********************");</span>
File file4 = new File("D:");
//list() 如果当前对象是一个目录,则返回一个String数组   该目录下的文件的名字
for(String file:file4.list())
System.out.println(file);//jdk1.6.0_10
System.out.println("*********************");
//listFiles() 如果当前对象是一个目录,则返回一个File数组。 该目录下的文件的Path
for(File file:file4.listFiles())
System.out.println(file);//C:\Program Files\Java\jdk1.6.0_10
System.out.println("*********************");}}

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