http://developer.51cto.com/art/201001/176671.htm
本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。
最后欢迎大家提出意见和建议。
【案例1】创建一个新文件
- import java.io.*;
- class hello{
- public static void main(String[] args) {
- File f=new File("D:\\hello.txt");
- try{
- f.createNewFile();
- }catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
【运行结果】:
程序运行之后,在d盘下会有一个名字为hello.txt的文件。
【案例2】File类的两个常量
- import java.io.*;
- class hello{
- public static void main(String[] args) {
- System.out.println(File.separator);
- System.out.println(File.pathSeparator);
- }
- }
【运行结果】:
\
;
此处多说几句:有些同学可能认为,我直接在windows下使用\进行分割不行吗?当然是可以的。但是在linux下就不是\了。所以,要想使得我们的代码跨平台,更加健壮,所以,大家都采用这两个常量吧,其实也多写不了几行。呵呵、
现在我们使用File类中的常量改写上面的代码:
- import java.io.*;
- class hello{
- public static void main(String[] args) {
- String fileName="D:"+File.separator+"hello.txt";
- File f=new File(fileName);
- try{
- f.createNewFile();
- }catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
你看,没有多写多少吧,呵呵。所以建议使用File类中的常量。
删除一个文件
- /**
- * 删除一个文件
- * */
- 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("文件不存在");
- }
- }
- }
创建一个文件夹
- /**
- * 创建一个文件夹
- * */
- import java.io.*;
- class hello{
- public static void main(String[] args) {
- String fileName="D:"+File.separator+"hello";
- File f=new File(fileName);
- f.mkdir();
- }
- }
【运行结果】:
D盘下多了一个hello文件夹
列出指定目录的全部文件(包括隐藏文件):
- /**
- * 使用list列出指定目录的全部文件
- * */
- import java.io.*;
- class hello{
- 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]);
- }
- }
- }
【运行结果】:
$RECYCLE.BIN
360
360Downloads
360Rec
360SoftMove
Config.Msi
da
Downloads
DriversBackup
eclipse
java web整合开发和项目实战
Lenovo
MSOCache
Program
Program Files
python
RECYGLER.{8F92DA15-A229-A4D5-B5CE-5280C8B89C19}
System Volume Information
Tomcat6
var
vod_cache_data
新建文件夹
(你的运行结果应该和这个不一样的,呵呵)
但是使用list返回的是String数组,。而且列出的不是完整路径,如果想列出完整路径的话,需要使用listFiles.他返回的是File的数组
列出指定目录的全部文件(包括隐藏文件):
- /**
- * 使用listFiles列出指定目录的全部文件
- * listFiles输出的是完整路径
- * */
- import java.io.*;
- class hello{
- public static void main(String[] args) {
- String fileName="D:"+File.separator;
- File f=new File(fileName);
- File[] str=f.listFiles();
- for (int i = 0; i < str.length; i++) {
- System.out.println(str[i]);
- }
- }
- }
【运行结果】:
D:\$RECYCLE.BIN
D:\360
D:\360Downloads
D:\360Rec
D:\360SoftMove
D:\Config.Msi
D:\da
D:\Downloads
D:\DriversBackup
D:\eclipse
D:\java web整合开发和项目实战
D:\Lenovo
D:\MSOCache
D:\Program
D:\Program Files
D:\python
D:\RECYGLER.{8F92DA15-A229-A4D5-B5CE-5280C8B89C19}
D:\System Volume Information
D:\Tomcat6
D:\var
D:\vod_cache_data
D:\新建文件夹
通过比较可以指定,使用listFiles更加方便、