只用来处理文件属性,没有读写的操作
属性 | 描述 |
---|---|
CanWrite() | 返回文件是否可写 |
CanRead() | 返回文件是否可读 |
IsDirectory() | 判断该路径指示的是否是文件夹 |
IsFile() | 判断该路径指示的是否是文件 |
LastModified() | 返回文件的最后修改时间标志 |
Mkdirs() | 生成指定的目录,如果当前路径中包含的父目录不存在时,也会自动根据需要创建 |
SetReadOnly() | 将文件设置为可读 |
createNewFile() | 创建指定的文件,不能用于创建文件夹,且文件路径中包含的文件夹必须存在 |
delete() | 删除当前文件或文件夹 |
exists() | 判断文件夹或文件是否存在 |
getAbsolutePath() | 获得当前文件或文件夹的绝对路径 |
getName() | 获得当前文件或文件夹的名称 |
getParent() | 获得当前路径中的父路径 |
list() | 返回当前文件夹下所有的文件名和文件夹名称 |
RenameTo(File dest) | 更名文件 |
由于File类的createNewFile()方法有throws IOException,所以要加上try语句处理异常
try {
File f=new File("D:\\test.txt");
f.createNewFile();
}catch (Exception e){
System.out.println("程序遇到异常:"+e.toString());
}
}
//File.separator代表的是任意的\或/,
try {
int ch;
FileReader f=new FileReader("d:"+File.separator+"test.txt");
while ((ch=f.read())!= -1){ //逐个读取文件中的内容,如果为-1则表示没有内容了,.read()的返回值是一个整数对应ASCII与Unicode字符表,需要转换成char格式,才是显示文件中的内容。
System.out.print((char) ch);
f.close();//关闭文件
}
}catch (Exception e){
System.out.println("程序遇到异常:"+e.toString());
}
FileWriter f=new FileWriter("d:"+File.separator+"test.txt",true);//加上true,每次运行程序,文件中的内容是追加写入。
FileWriter f=new FileWriter("d:"+File.separator+"test.html");//不加true,每次运行程序,文件中的内容是覆盖写入。
f.write("***\r\n");
f.write("testwrite\r\n");
f.write("***\r\n");
f.close();//关闭文件
try {
FileUtils.touch(new File("d:\\test1.txt"));//创建文件
FileUtils.copyFile(new File("d:\\test1.txt"),new File("d:\\test2.txt"));//在本级目录复制文件
FileUtils.copyFileToDirectory(new File("d:\\test1.txt"),new File("d:\\logs\\copy"));//复制文件到新目录
FileUtils.moveFileToDirectory(new File("d:\\test1.txt"),new File("d:\\logs\\move"),true);//移动文件到新目录
FileUtils.write(new File("d://test2.txt"),"测试","utf-8", Boolean.parseBoolean("true"));//写文件
FileUtils.deleteQuietly(new File("d:\\test1.txt"));//删除文件
//遍历文件和子文件夹,{}中填写遍历文件的类型
Collection listFiles=FileUtils.listFiles(new File("d:\\log"),new String[]{"txt","java"},true);
for(File file :listFiles){
System.out.println(file.getAbsolutePath());//打印文件所在路径
}
}catch (Exception e){
System.out.println("程序遇到异常:"+e.toString());
}
//读取文本,返回字符串。
//FileUtils.readFileToString()指定文件进行读取返回字符串。
String s = FileUtils.readFileToString(new File("D:\\test1.txt"));
System.out.println(s);
//判断文件名的后缀。
//isExtension(String fileName,String ext):判断fileName是否是ext后缀名;
boolean b = FilenameUtils.isExtension("ja.txt","rar");
System.out.println(b);
//getname 获取文件名。
String name = FilenameUtils.getName("D:\\ja.txt");
System.out.println(name);
//FilenameUtils方法 获得拓展名,
//需要加上后缀名,才能获得后缀名。
//getExtension 获取文件名后缀。
String n = FilenameUtils.getExtension("d:\\ll.txt");
System.out.println(n);
//创建文件
private String fileName = null;
HierarchicalINIConfiguration ini =null;
public void createLog(String p_fileName) {
// TODO Auto-generated method stub
this.fileName = p_fileName;
File file = new File(this.fileName);
if (!file.exists()) //如果文件不存在
{
try {
file.createNewFile(); //创建文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
ini = new HierarchicalINIConfiguration(this.fileName);
ini.load(new File(this.fileName));
} catch (ConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//写文件
public void write(String section, String key, String value)
{
ini.setProperty(section+"."+key, value);
}
//读文件
public String read(String section, String key)
{
return ini.getString(section+"."+key);
}
//关闭文件
public void closeLog() {
// TODO Auto-generated method stub
try {
ini.save();
} catch (ConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.fileName=null;
this.ini=null;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
IniFile ini=new IniFile();
ini.createLog("d://config2.ini");
ini.write("URL", "url","www.163.com");
System.out.println(ini.read("URL", "url"));
ini.closeLog();
}
File file;
String filePath=null;
PropertiesConfiguration config = new PropertiesConfiguration();
//创建文件
public void createLog(String p_filePath){
this.filePath=p_filePath;
file = new File(this.filePath);
if (!file.exists())
{
try {
file.createNewFile(); //创建文件的意思
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
config.load(new File(this.filePath)); //导入需要的properties文件
} catch (ConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//读文件
public String read(String p_key){
// String value=config.getProperty(p_key).toString();//因为config.getProperty(p_key) 的返回值是Object类型,而方法的放回值是String,所以通过toString()把object类型转变成String类型
Object value=config.getProperty(p_key);
return value.toString();
}
//写文件
public void write (String p_key, String p_value) {
config.setProperty(p_key, p_value);
// try {
// config.save(new File(this.filePath));
// } catch (ConfigurationException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
public static void main(String[] args) {
PropertiesFile pf= new PropertiesFile();
pf.createLog("d://config2.properties");
pf.write("url", "www.163.com");
pf.write("user", "kevin");
System.out.println(pf.read("url"));
System.out.println(pf.read("user"));
pf.closeLog();
}