`

File 类小结

阅读更多
File 类小结
File类
一:
File类的对象主要用来获取文件本身的一些信息,例如文件所在的目录,文件的长度,文件读写权限等,不涉及对文件的读写操作.创建一个File对象的构造方法有3个:
File(FilefileStringfilename);
File(Stringfilename);
File(StringdirectoryPate);
使用File(Stringfilename)创建文件时,该文h)//构造方法
File(StringdirectoryPath,Stringfilenam)

System.out.println("请输入您要查询的目录");
Strings=reader.nextline();
System.out.println("请输入您要查询文件的名字");
Stringm=reader.nextline();
Filefile=newFile(s,m);

经常使用File类的下列方法获取文件本身的一些信息
publicbooleanexixts()判断文件是否存在.
publicStringgetName()获取文件的名字.
publicbooleancanRead()判断文件是否是可读的.
publicbooleancanWrite()判断文件是否可被写入.

publiclonglength()获取文件的长度(单位是字节).
publicStringgetAbsolutePath()获取文件的绝对路径.
publicStringgetParent()获取文件的父目录.
publicbooleanisFile()判断文件是否是一个正常文件,而不是目录.
publicbooleanisDirectroy()判断文件是否是一个目录.
publicbooleanisHidden()判断文件是否是隐藏文件.
publiclonglastModified()获取文件最后修改的时间时间是从1970年午夜至文件最后修改时刻的毫秒数.


二:
1)创建目录
publicbooleanmkdir()
创建一个目录,如果创建成功返回true,否则返回false(如果该目录已经存在将返回false).
创建目录,必须有File的对象
Filefile=newFile("f:\\300\\1.java");
booleana=file.mkdir();
if(a==true){
System.out.println("创建成功");
}
else
{
System.out.println("失败");
}

2)列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录
publicString[]list()用字符串形式返回目录下的全部文件,
publicFile[]listFiles()用File对象形式返回目录下的全部文件.

Filefile=newFile("目录");
1.StringfileName[]=file.list[file.length()];
2.FilefileName[]=file.listFiles();
然后用数组循环输出

列出目录下指定类型的文件:
publicString[]list(FilenameFilterobj)
该方法用字符串形式返回目录下的指定类型的所有文件.
publicFile[]listFiles(FilenameFilterobj)

该方法用File对象返回目录下的指定类型所有文件.
FilenameFilter是一个接口,该接口有一个方法
publicbooleanaccept(Filedir,Stringname)

当向list方法传递一个实现该接口的对象时,dir调用list方法在列出文件时,将调用accept方法检查该文件name是否符合accept方法指定的目录和文件名字要求.
在下面的例子2中,列出d:\ioio目录下的部分.java文件的名字.

classFileAcceptimplementsFilenameFilter{
Stringstr=null;//定义变量后就给赋值

FileAccept(Strings){
str="."+s;
}
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(str);
}
}

例子:
System.out.println("====请输入您要查询文件的目录====");
Scannerreader1=newScanner(System.in);

Strings=reader1.nextLine();

System.out.println("====请输入文件的类型====");

Scannerreader2=newScanner(System.in);

Stringr=reader2.nextLine();

Filedir=newFile(s+":");

FileAcceptacceptCondition=newFileAccept(r);

FilefileName[]=dir.listFiles(acceptCondition);

for(inti=0;i<fileName.length;i++){

System.out.println(fileName.getPath());
}


FileInputStream类
这个是查看和读写文档内容的类上面的File类是文件夹属性
FileInputStream和FileOutStream

例子:
packagefile;

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;

publicclassSimpleReadFile{
publicstaticvoidmain(String[]aa){
intb=0;
Filef=newFile("E:\\temp\\www.wnetw.net.java");

bytetom[]=newbyte[(int)f.length()];

try{

FileInputStreamreadfile=newFileInputStream(f);

while((b=readfile.read(tom,0,(int)f.length()))!=-1){

Strings=newString(tom,0,b);//把byte类型转换成String

System.out.println(s);

//System.out.println(b);
}
readfile.close();
}
catch(IOExceptione){
System.out.println("文件错误"+e.getMessage());
}
}
}



FileOutStream类型
例子:

importjava.util.*;
importjava.io.*;

publicclassOutStream{

publicstaticvoidmain(Stringargs[]){

try{
System.out.println("请输入您要写入的内容,并存入磁盘");

Strings=reader.nextLine();

bytetom[]=s.getBytes();//把字符串强制转换成byte类型;并传值给了byte

Filefile=newFile("文件目录");

FileOutputStreamwritefile=newFileOutputStream(file);

writefile.write(tom,0,tom.length);

System.out.println("写入成功");

writefile.close();

}
catch(IOExceptione){

System.out.println("Error");
}
}
}


FileReader类和FileWriter类
上面的FileInputStream使用字节读取文件,字节流不能直接操作Unicode字符,所以Java提供了字符流.由于汉字在文件中占用2个字节,如果使用字节流,读取不当会出现乱码现象,采用字符流就可以避免这个现象,因为,在Unicode字符中,一个汉字被看作一个字符.
1.FileReader
packagefile;

importjava.io.File;
importjava.io.FileReader;
importjava.io.IOException;

publicclassSimpleFileReader{
publicstaticvoidmain(Stringaa[]){
intn=0;

try{
Filef=newFile("E:\\temp","www.wnetw.net.java");

FileReaderin=newFileReader(f);

intlength=(int)f.length();

chartom[]=newchar[length];//bytetom[]=newbyte[length]

while((n=in.read(tom,0,length))!=-1){

Strings=newString(tom,0,n);//把字符类型转换成String

System.out.println(s);

}
in.close();
}
catch(IOExceptione){
System.out.println("error:"+e.getMessage());
}
}
} 

 

分享到:
评论

相关推荐

    java文件(File)小结.doc

    【文件(File)小结】 在Java编程中,文件(File)是数据持久化存储的重要方式,它不同于内存中临时存储的数据。File类是Java.io包中的核心类,提供了对文件和目录的操作。通过File对象,我们可以进行创建、删除、...

    Java中的File类——学习小结

    1.什么是File类 Java是面对对象的语言,计算机中的内容不是文件即是文件夹。 获取File类有三种方式【构造方法】: File&#40;String pathNmae&#41;; 根据对应的文件路径创建获取对应的File类对象,可以是文件,可以是...

    JAVA IO流小结

    JAVA IO流小结 JAVA IO流是指Java语言中用来实现输入/输出操作的机制。IO流是指任何有能力产出数据的数据源对象或者有能力接收数据的数据源对象。他屏蔽了实际的I/O设备处理数据的细节。 一、流的定义和分类 流是...

    file结构体和inode结构体

    ### 小结 - `struct file` 描述了打开文件的状态,包括文件的位置、权限、所有者等信息。 - `struct inode` 描述了一个文件或目录的具体属性,如文件大小、权限等。 - `struct dentry` 用于文件系统视图中的文件或...

    c++ 文件操作小结

    在C++中,文件I/O操作主要通过`fstream`库中的类实现,这包括`ifstream`、`ofstream`和`fstream`三个类。这些类继承自`iostream`库中的`istream`和`ostream`,从而支持基本的输入输出操作。 - **`ifstream`**:用于...

    银行业务系统小结

    ### 银行业务系统小结 #### 一、银行业务系统基础知识 银行业务系统是银行内部处理各类金融交易和客户信息的复杂网络,涵盖了从账户管理、交易处理到风险管理等多个方面。为了确保数据的准确性和系统的高效运行,...

    PHP中file_exists使用中遇到的问题小结

    然而,在实际使用中,可能会遇到一些预期之外的问题,正如文章标题“PHP中file_exists使用中遇到的问题小结”所述。本文将深入探讨在特定情况下`file_exists`可能返回错误的原因,以及如何解决这些问题。 问题描述...

    Java IO流 File类的常用API实例

    Java IO流 File类的常用API实例 Java IO流 File类是Java...六、小结 Java IO流 File类提供了丰富的API实例来操作文件和目录,包括基本方法和高级方法。通过了解这些方法,可以更好地操作文件和目录,提高开发效率。

    关于type="file"的input框样式修改小结

    然而,由于浏览器之间的兼容性和样式控制的限制,`type="file"` 的输入框在不同环境下表现不一致,给样式设计带来了挑战。本文主要探讨如何有效地修改 `type="file"` 输入框的样式。 首先,`&lt;input type="file"&gt;` ...

    java面向对象File (I O)

    #### 小结 本文详细介绍了如何使用Java的`File`类进行文件的基本操作,并深入探讨了Java中的流(Streams)概念以及它们在文件读写中的具体应用。通过这些知识,开发者可以更有效地处理文件系统的各种需求,无论是...

    关于type=”file”的input框样式修改小结

    关于type=file的input是啥? 这个是啥我觉得没必要再说了,反正大家都知道,然后在现在有各种手机的时代,还可以通过直接拍照的方式来上传,反正比以前好玩多了。 并且以前是只能上传一个文件,现在的话,只要增加...

    awk用法小结

    ### awk用法小结 本篇文章旨在为初学者提供关于`awk`命令的基本用法介绍。`awk`是一种强大的文本处理工具,在Linux和Unix环境中非常常用。它支持数据的提取、处理以及报告生成等操作。下面我们将根据提供的部分示例...

    JS获取文件大小方法小结

    在某些早期版本的IE浏览器中,可以设置`img`元素的`dynsrc`属性来预加载文件,然后通过`fileSize`属性获取文件大小。然而,这种方法并不普遍适用,因为它在IE7、IE8、Firefox以及Chrome等现代浏览器中可能无法正常...

    weblogic日志小结

    Weblogic 日志小结 Weblogic 的日志机制是 Weblogic 服务器中非常重要的一部分,它允许管理员和开发者了解服务器的运行情况,追踪错误、 debug 信息和安全日志等。Weblogic 的日志机制可以分为三个部分:access.log...

    c#中对文件的操作小结.rar_C# 文件_C# 文件操作

    本文将深入探讨C#中对文件的操作,结合“c#中对文件的操作小结.txt”和“www.pudn.com.txt”这两个文件的内容,为开发者提供详尽的指导。 1. **基础概念** - **FileStream**: C#中的`FileStream`类是处理文件的...

    java调用RMI小结

    LoadFile loadFile = (LoadFile) registry.lookup("LoadFile"); loadFile.helloRemoteObj("Client"); ``` 8. **安装和运行RMI系统**: - 配置好JVM的RMI环境,包括设置`JAVA_HOME`, `RMI_SERVER_HOSTNAME`, `...

Global site tag (gtag.js) - Google Analytics