从File类开始IO系统介绍

13799872015dan

13799872015dan

2016-02-19 17:01

今天图老师小编要向大家分享个从File类开始IO系统介绍教程,过程简单易学,相信聪明的你一定能轻松get!

  无论学习那种语言都难免要接触到文件系统,要经常和文件打交道。Java当然也不例外,有些网友觉得IO的设计很烦琐,有的时候我也有这样的感觉,其实用的熟练了,倒是觉得这个东西还是挺方便的。在介绍Java IO之前首先介绍一下非常重要的一个类File。

  在看到这个类的名字后你一定认为它代表一个文件,事实上这样认为并不准确,因为Java中的File类可以代表文件也可以代表目录。在API doc中说明了这一点,同时把File用abstract pathname来代表。不过想想目录不也就是特殊的文件吗?

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  File的使用非常的简单,它有四个构造函数:

  

File(String parent,String child)
File(File parent,String child)
File(URI uri)
File(String pathname)

  其中前面两个可以让我们在某个已知特定的目录下新建文件或者目录,后面两个我们可以通过pathname或者URI新建文件或者目录。有一点需要注意,File虽然是一个系统无关的代表,但是pathname的表示是和系统相关的,比如UNIX下"/"表示root目录,而windows下通常用盘符来表示。比如绝对路径C:helloworldmingjava,如果是相对路径的话则不以"/"开头,一般相对路径是相对当前目录的。当我们创建一个File的时候可以通过exists()方法判断它是否存在,如果不存在我们可以选择是创建为文件还是创建为目录。例如

  

File file = new File("hehe");
 if(!file.exists())
 {
  file.mkdir(); 
 } 
 for(int i=0;i 5;i++)
  {
  File listFile = new File(nextFile,"ming"+i+".txt");
  if(!listFile.exists())
  {
   listFile.createNewFile(); 
  }
  
  }

  如果我们已经知道一个File对象,希望在他的目录之下新建文件,那么就可以使用第一个构造器了。比如

  

File nextFile = new File(file,"minghehe");
 if(!nextFile.exists())
 {
  nextFile.mkdirs(); 
 }

  注意创建多层目录的时候要用mkdirs()。我们还可以列举出一个目录下的文件列表,通过list()方法可以得到一个String[]类型的数组,这就是目录下的文件名称。

  

 String[] list = nextFile.list();
  for(int j = 0;jlist.length;j++)
  {
  System.out.println(list[j]); 
  }

  File的使用并不复杂,如果有问题多参考一下API doc一般就可以解决了,下面是我写的一个小例子,说明如何使用File文件。

  

import java.io.*;
import java.net.*;
public class TestFile
{
 public static void main(String[] args) throws IOException
 {
 File file = new File("hehe");
 if(!file.exists())
 {
  file.mkdir(); 
 } 
 File nextFile = new File(file,"minghehe");
 if(!nextFile.exists())
 {
  nextFile.mkdirs(); 
 }
 System.out.println(nextFile.getParent());
 if(nextFile.isDirectory())
 {
  File newFile = new File(nextFile,"ming.txt");
  if(!newFile.exists())
  {
  newFile.createNewFile();
  System.out.println(newFile.getName());
  System.out.println(newFile.getAbsoluteFile());
  
  }
  for(int i=0;i 5;i++)
  {
  File listFile = new File(nextFile,"ming"+i+".txt");
  if(!listFile.exists())
  {
   listFile.createNewFile(); 
  }
  
  }
  String[] list = nextFile.list();
  for(int j = 0;jlist.length;j++)
  {
  System.out.println(list[j]); 
  } 
 }
 } 
}

  输出结果为:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

heheming
ming.txt
ming0.txt
ming1.txt
ming2.txt
ming3.txt
ming4.txt
Press any key to continue...

展开更多 50%)
分享

猜你喜欢

从File类开始IO系统介绍

编程语言 网络编程
从File类开始IO系统介绍

java中 IO 常用IO操作类继承结构分析

编程语言 网络编程
java中 IO 常用IO操作类继承结构分析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java的io系统

编程语言 网络编程
java的io系统

IO 使用说明介绍

编程语言 网络编程
IO 使用说明介绍

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

The File System(文件系统)

编程语言 网络编程
The File System(文件系统)

养生从春季开始

春季养生 养生 健康
养生从春季开始

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

怎样发送QQ离线文件?

怎样发送QQ离线文件?

RUP初探

RUP初探
下拉加载更多内容 ↓