在整个javaIO中最重要就是5类一个接口,5个类是指,File,OutputStream,InputStream,Writer,Reader,接口Serializable接口
操作文件的类----File类
此类的构造方法:public File(String pathname)实例化这个类,必须要要一个路径
此类常用的方法:
使用File类来做一些操作。。。
1.创建一个File类
public
class
FileDemo1 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:\\a.txt"
);
try
{
f.createNewFile();
}
catch
(IOException e) {
e.printStackTrace();
}
}
}
结果:打开F盘,你会看到一个a.txt的文件
在写程序一般不会像
f:\\a.txt
这样写,一般要有分隔符。
public
class
FileDemo1 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
+
"\\a.txt"
);
try
{
f.createNewFile();
}
catch
(IOException e) {
e.printStackTrace();
}
}
}
2.删除一个文件
public
class
FileDemo1 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
+
"\\a.txt"
);
f.delete();
}
}
上面这段程序需要判断,如果此文件存在,才删除
public
class
FileDemo1 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
+
"\\a.txt"
);
if
(f.exists())
f.delete();
}
}
这样就保证了不会删除一个不存在的文件了
3.把上面的两个综合一下,如果文件存在则删除,不存在就创建一个
public
class
FileDemo2 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
+
"a.txt"
);
if
(f.exists())
f.delete();
else
{
try
{
f.createNewFile();
}
catch
(IOException e) {
//
TODO
Auto-generated catch block
e.printStackTrace();
}
}
}
}
结果:
F盘有了a.txt文件
4.创建一个文件夹
public
class
FileDemo3 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
+
"Study"
);
if
(f.exists())
f.delete();
else
{
f.mkdir();
}
}
}
发现F盘多了一个文件夹
5.列出指定目录的全部文件
有两种方法:public String [] list();列出全部名称,返回一个字符串数组
public File[] listFiles();列出完整的路径,返回一个File类型的数组
public
class
FileDemo4 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
);
String a[]=f.list();
for
(String s:a){
System.
out
.println(s);
}
}
}
结果:
$RECYCLE.BIN
360downloads
a.txt
baiduyundownload
intf
JAVA资料
kankan
RECYCLER
Study
System Volume Information
Youku Files
迅雷下载
从结果发现:列出的全部文件包括隐藏文件
列出完整的路径:
public
class
FileDemo4 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
);
File a[]=f.listFiles();
for
(File s:a){
System.
out
.println(s);
}
}
}
结果:
f:\$RECYCLE.BIN
f:\360downloads
f:\a.txt
f:\baiduyundownload
f:\intf
f:\JAVA资料
f:\kankan
f:\RECYCLER
f:\Study
f:\System Volume Information
f:\Youku Files
6.判断给定的一个目录是否是目录
public
class
FileDemo5 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
);
if
(f.isDirectory()){
System.
out
.println(f.getPath()+
"是路径"
);
}
else
{
System.
out
.println(f.getPath()+
"不是路径"
);
}
}
}
结果:
7.列出指定目录的全部路径(判断此路径是否是真的路径)
public
class
FileDemo6 {
public
static
void
main(String[] args) {
File f=
new
File(
"f:"
+File.
separator
);
if
(f.isDirectory()){
File[] file=f.listFiles();
for
(File f1:file){
System.
out
.println(f1);
}
}
}
}
结果:
f:\$RECYCLE.BIN
f:\360downloads
f:\a.txt
f:\baiduyundownload
f:\intf
f:\JAVA资料
f:\kankan
f:\RECYCLER
f:\Study
f:\System Volume Information
f:\Youku Files