您的位置:首页 > 职场人生

黑马程序员-java中关于文件的一些基本操作

2014-07-11 15:45 671 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

Java的File类

Java的File类是java.io包下代表与平台无关的文件或目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成。值得指出的是,不管是文件还是目录都是使用File类来操作的,File能新建、删除、重命名文件和目录,File不能访问文件内容本身。如果访问文件内容本书,则需要使用输出/输出流。

1、创建一个新文件

public class A {
public static void main(String[] args) {
File f = new File("D:\\hello.txt");
try {
f.createNewFile();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}

程序运行后,在d盘下会有一个hello.txt文件。

2、File类的两个常量,用这两个可以最大化的实现代码的跨平台性,因为在win平台下路径的分隔是\,而在linux下就不是了。所以,这两个常量还是很有用的。

public class A {
<pre class="java" name="code">import java.io.*;
class hello{
public static void main(String[] args) {
String fileName="D:"+File.separator+"hello.txt";
File f=new File(fileName);
if(f.exists()){
f.delete();
}else{
System.out.println("文件不存在");
}

}
}


public static void main(String[] args) {System.out.println(File.separator);System.out.println(File.pathSeparatorChar);}}

运行结果:

\

;

现在我们使用File类的常量改写上面的代码:

public class A {
public static void main(String[] args) {
File f = new File("D:" +  File.separator + "hello.txt");
try {
f.createNewFile();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}

结果都是在D盘下生成一个hello.txt文件。

删除一个文件

import java.io.*;
class A{
public static void main(String[] args) {
String fileName="D:"+File.separator+"hello.txt";
File f=new File(fileName);
if(f.exists()){
f.delete();
}else{
System.out.println("文件不存在");
}

}
}

创建一个文件夹

import java.io.*;
class A{
public static void main(String[] args) {
String fileName="D:"+File.separator+"hello";
File f=new File(fileName);
f.mkdir();
}
}

此段代码运行后在D盘下生成一个Hello文件夹

列出制定目录的全部文件(包括隐藏文件):

class A{
public static void main(String[] args) {
String fileName="D:"+File.separator;
File f=new File(fileName);
String[] str=f.list();
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
}


运行结果:列出D盘下的全部目录和文件

360
360Downloads
360Rec
360SoftMove
Config.Msi
da
Downloads
DriversBackup
eclipse
判断一个制定的路径是否为目录

class hello{
public static void main(String[] args) {
String fileName="D:"+File.separator;
File f=new File(fileName);
if(f.isDirectory()){
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}

运行结果:YES。

搜索指定目录的全部内容:

class hello{
public static void main(String[] args) {
String fileName="D:"+File.separator;
File f=new File(fileName);
print(f);
}
public static void print(File f){
if(f!=null){
if(f.isDirectory()){
File[] fileArray=f.listFiles();
if(fileArray!=null){
for (int i = 0; i < fileArray.length; i++) {
//递归调用
print(fileArray[i]);
}
}
}
else{
System.out.println(f);
}
}
}
}

输出结果:

D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\framepages\web4welcome_jsp.java
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\help_005fhome_jsp.class
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\help_005fhome_jsp.java
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\home_jsp.class
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\home_jsp.java
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\index_jsp.class
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\index_jsp.java
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\login_jsp.class
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\login_jsp.java
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\modify_005fuser_005finfo_jsp.class
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\modify_005fuser_005finfo_jsp.java
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\register_005fnotify_jsp.class
D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\register_005fnotify_jsp.java
以上是Java的File类的最基本的文件基本操作,希望能对初学java的人有所帮助。

 

 ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 对象 软件 设计