黑马程序员10--File类
来源:互联网 发布:sai软件多大 编辑:程序博客网 时间:2024/06/13 10:48
File类
-------android培训、java培训、期待与您交流! ----------
File类的常见方法:
1,创建
boolean createNewFile();
boolean mkdir();创建文件夹
boolean mkdirs();创建多级目录
2,删除
boolean delete();
void deleteOnExit();//在程序退出时删除指定文件。
3,判断
boolean exists(); 文件是否存在。
isFile()
isDirectory()
isHidden()
isAbsolute()
4,获取信息
getName():
getPath():
getParent():
String getAbsolutePath():
File getAbsoluteFile():
long lastModified():
long length():
class FileDemo
{
public static void main(String[] args) throws IOException
{
method_5();
}
public static void method_5()
{
File f1 = new File("c:\\test.java");
File f2 = new File("c:\\hahaha.java");
sop("rename:"+f1.renameTo(f2));
}
public static void method_4()
{
File f = new File("abc\\a.txt");
sop("path :"+f.getPath());
sop("abspath :"+f.getAbsolutePath());
//该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null
//如果相对路径中有上一层目录那么该目录就是返回结果。
sop("parent :"+f.getParent());
}
public static void method_3() throws IOException
{
File f = new File("file.txt");
// f.createNewFile();
f.mkdir();
//记住在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在。
//通过exists()判断
sop("dir:"+f.isDirectory());
sop("file:"+f.isFile());
sop(""+f.isAbsolute());
}
public static void method_2()
{
File f = new File("FileDemo.java");
//sop("execute:"+f.canExecute());
sop("exists:"+f.exists());
//创建文件夹,mkdir只能创建一级目录
File dir = new File("abc");
sop("mkdir:"+dir.mkdir());
File dir2 = new File("abc\\a\\b\\c");
sop("mkdirs:"+dir2.mkdirs());
}
public static void method_1() throws IOException
{
File f = new File("file.txt");
//sop("create:"+f.createNewFile());
sop("delete:"+f.delete());
}
//创建file对象
public static void consMethod()
{
//将a.txt封装成file对象。可以将已有的和未出现的文件或者文件夹封装成对象
File f1 = new File("a.txt");
File f2 = new File("c:\\abc","b.txt");
File d = new File("c:\\abc");
File f3 = new File(d,"c.txt");
File f4 = new File("c"+File.separator+"abc"+File.separator+"d.txt");
sop("f1:"+f1);
sop("f2:"+f2);
sop("f3:"+f3);
sop("f4:"+f4);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
{
public static void main(String[] args) throws IOException
{
method_5();
}
public static void method_5()
{
File f1 = new File("c:\\test.java");
File f2 = new File("c:\\hahaha.java");
sop("rename:"+f1.renameTo(f2));
}
public static void method_4()
{
File f = new File("abc\\a.txt");
sop("path :"+f.getPath());
sop("abspath :"+f.getAbsolutePath());
//该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null
//如果相对路径中有上一层目录那么该目录就是返回结果。
sop("parent :"+f.getParent());
}
public static void method_3() throws IOException
{
File f = new File("file.txt");
// f.createNewFile();
f.mkdir();
//记住在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在。
//通过exists()判断
sop("dir:"+f.isDirectory());
sop("file:"+f.isFile());
sop(""+f.isAbsolute());
}
public static void method_2()
{
File f = new File("FileDemo.java");
//sop("execute:"+f.canExecute());
sop("exists:"+f.exists());
//创建文件夹,mkdir只能创建一级目录
File dir = new File("abc");
sop("mkdir:"+dir.mkdir());
File dir2 = new File("abc\\a\\b\\c");
sop("mkdirs:"+dir2.mkdirs());
}
public static void method_1() throws IOException
{
File f = new File("file.txt");
//sop("create:"+f.createNewFile());
sop("delete:"+f.delete());
}
//创建file对象
public static void consMethod()
{
//将a.txt封装成file对象。可以将已有的和未出现的文件或者文件夹封装成对象
File f1 = new File("a.txt");
File f2 = new File("c:\\abc","b.txt");
File d = new File("c:\\abc");
File f3 = new File(d,"c.txt");
File f4 = new File("c"+File.separator+"abc"+File.separator+"d.txt");
sop("f1:"+f1);
sop("f2:"+f2);
sop("f3:"+f3);
sop("f4:"+f4);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
文件夹操作
class FileDemo2
{
public static void main(String[] args)
{
listFiles();
}
public static void listFiles()
{
File dir = new File("c:\\Javawork\\");
File[] files = dir.listFiles();
for (File f:files)
{
System.out.println(f.getName()+":"+f.length());
}
}
{
public static void main(String[] args)
{
listFiles();
}
public static void listFiles()
{
File dir = new File("c:\\Javawork\\");
File[] files = dir.listFiles();
for (File f:files)
{
System.out.println(f.getName()+":"+f.length());
}
}
//带过滤条件 ,以".java"结尾
public static void listFilter()
{
File f = new File("c:\\Javawork\\20");
String[] names = f.list(new FilenameFilter(){
public boolean accept(File f,String name){
return name.endsWith(".java");
}
});
System.out.println("len:"+names.length);
for (String name:names )
{
System.out.println(name);
}
}
public static void listDemo()
{
File f = new File("c:\\");
//调用list方法的file对象必须是封装了一个目录
//而且该目录必须存在
String[] names = f.list();
for (String name:names )
{
System.out.println(name);
}
}
public static void listRootsDemo()
{
File[] files = File.listRoots();
for (File f :files)
{
System.out.println(f+":"+f.length());
}
}
}
public static void listFilter()
{
File f = new File("c:\\Javawork\\20");
String[] names = f.list(new FilenameFilter(){
public boolean accept(File f,String name){
return name.endsWith(".java");
}
});
System.out.println("len:"+names.length);
for (String name:names )
{
System.out.println(name);
}
}
public static void listDemo()
{
File f = new File("c:\\");
//调用list方法的file对象必须是封装了一个目录
//而且该目录必须存在
String[] names = f.list();
for (String name:names )
{
System.out.println(name);
}
}
public static void listRootsDemo()
{
File[] files = File.listRoots();
for (File f :files)
{
System.out.println(f+":"+f.length());
}
}
}
//递归显示文件夹下文件和文件夹
class FileDemo3
{
public static void main(String[] args)
{
showDir(new File("C:\\Downloads"),0);
}
public static String getLevel(int level)
{
StringBuilder sb = new StringBuilder();
sb.append("|--");
for(int i=0;i<level;i++)
{
sb.insert(0," ");
}
return sb.toString();
}
//递归显示文件夹下文件和文件夹
public static void showDir(File dir,int level)
{
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++)
{
//System.out.println(dir);
if(files[i].isDirectory())
showDir(files[i],level);
else
System.out.println(getLevel(level)+files[i]);
}
}
}
{
public static void main(String[] args)
{
showDir(new File("C:\\Downloads"),0);
}
public static String getLevel(int level)
{
StringBuilder sb = new StringBuilder();
sb.append("|--");
for(int i=0;i<level;i++)
{
sb.insert(0," ");
}
return sb.toString();
}
//递归显示文件夹下文件和文件夹
public static void showDir(File dir,int level)
{
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++)
{
//System.out.println(dir);
if(files[i].isDirectory())
showDir(files[i],level);
else
System.out.println(getLevel(level)+files[i]);
}
}
}
//递归删除带内容的目录
class RemoveDir
{
public static void main(String[] args)
{
removeDir(new File("C:\\D"));
}
public static void removeDir(File dir)
{
File[] files = dir.listFiles();
for (int i=0;i<files.length ;i++ )
{
if (files[i].isDirectory())
{
removeDir(files[i]);
}
else
System.out.println(files[i]+":"+files[i].delete());
}
System.out.println("dir:"+dir+":"+dir.delete());
}
}
{
public static void main(String[] args)
{
removeDir(new File("C:\\D"));
}
public static void removeDir(File dir)
{
File[] files = dir.listFiles();
for (int i=0;i<files.length ;i++ )
{
if (files[i].isDirectory())
{
removeDir(files[i]);
}
else
System.out.println(files[i]+":"+files[i].delete());
}
System.out.println("dir:"+dir+":"+dir.delete());
}
}
Properties 是hashtable的子类
也就是说它具备map集合的特点。而且它里面存储的键值对是字符串。
是集合中和IO技术相结合的集合容器
该对象的特点:可以用于键值对形式的配置文件
getProperty(String key) //用指定的键在此属性列表中搜索属性。
setProperty(String key, String value) // 调用 Hashtable 的方法 put。
list(PrintStream out) // 将属性列表输出到指定的输出流。
list(PrintWriter out) // 将属性列表输出到指定的输出流。
load(InputStream inStream) //从输入流中读取属性列表(键和元素对)。
load(Reader reader) //按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
store(OutputStream out, String comments) //以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
propertyNames() // 返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。
class PropertiesDemo
{
public static void main(String[] args) throws IOException
{
loadDemo();
}
public static void loadDemo() throws IOException
{
FileInputStream fis = new FileInputStream("info.txt");
Properties prop = new Properties();
prop.load(fis);
prop.setProperty("wangwu2","18");
FileOutputStream fos = new FileOutputStream("info.txt");
prop.store(fos,"haha");
prop.list(System.out);
}
//演示,如何将流中的数据存储到集合中
//想要将info.txt中键值数据存到集合中进行操作。
/*
1.用一个流和info.txt文件关联
2.读取一行数据,将该行数据用”=”进行切割。
3.等号左边作为键,右边作为值。存入到Properties集合中即可。
*/
public static void method_1() throws IOException
{
BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));
String line=null;
Properties prop = new Properties();
String[] arr=null;
while ((line=bufr.readLine())!=null)
{
arr = line.split("=");
prop.setProperty(arr[0],arr[1]);
}
bufr.close();
System.out.println(prop);
}
//设置和获取元素
public static void setAndGet()
{
Properties prop = new Properties();
prop.setProperty("zhangsan","30");
prop.setProperty("lisi","39");
//System.out.println(prop);
//String value = prop.getProperty("lisi");
//System.out.println(value);
prop.setProperty("lisi",89+"");
Set<String> names = prop.stringPropertyNames();
for (String s:names )
{
System.out.println(s+":"+prop.getProperty(s));
}
}
}
{
public static void main(String[] args) throws IOException
{
loadDemo();
}
public static void loadDemo() throws IOException
{
FileInputStream fis = new FileInputStream("info.txt");
Properties prop = new Properties();
prop.load(fis);
prop.setProperty("wangwu2","18");
FileOutputStream fos = new FileOutputStream("info.txt");
prop.store(fos,"haha");
prop.list(System.out);
}
//演示,如何将流中的数据存储到集合中
//想要将info.txt中键值数据存到集合中进行操作。
/*
1.用一个流和info.txt文件关联
2.读取一行数据,将该行数据用”=”进行切割。
3.等号左边作为键,右边作为值。存入到Properties集合中即可。
*/
public static void method_1() throws IOException
{
BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));
String line=null;
Properties prop = new Properties();
String[] arr=null;
while ((line=bufr.readLine())!=null)
{
arr = line.split("=");
prop.setProperty(arr[0],arr[1]);
}
bufr.close();
System.out.println(prop);
}
//设置和获取元素
public static void setAndGet()
{
Properties prop = new Properties();
prop.setProperty("zhangsan","30");
prop.setProperty("lisi","39");
//System.out.println(prop);
//String value = prop.getProperty("lisi");
//System.out.println(value);
prop.setProperty("lisi",89+"");
Set<String> names = prop.stringPropertyNames();
for (String s:names )
{
System.out.println(s+":"+prop.getProperty(s));
}
}
}
0 0
- 黑马程序员10--File类
- 黑马程序员:File类
- 黑马程序员-File类
- 黑马程序员---File类
- 黑马程序员--File类
- 黑马程序员:File类
- 黑马程序员--File类
- 黑马程序员--File类
- 黑马程序员—File类
- 黑马程序员—File类
- 黑马程序员-Java File类
- 黑马程序员 File类总结
- 黑马程序员:File类练习
- 黑马程序员--File类对象
- 黑马程序员-day21-File类
- 黑马程序员-File-File方法
- 黑马程序员__System类以及File类
- 黑马程序员 File文件类用途集锦
- 黑马程序员9--GUI
- Spring3.0.5jar包用法详解
- 三层中的大学问
- hdu-3436-Queue-jumpers-伸展树
- 玩转html5(一)-----盘点html5新增的那些酷酷的input类型和属性
- 黑马程序员10--File类
- Spring mvc redirect传递参数时异常RedirectAttributes
- Vmware中的Windows主机与主机Windows进行文件共享
- D - Draw Something Cheat(水)
- Json数据的序列化与反序列化的三种常用方法介绍
- 中断服务程序设计实验
- android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
- 二叉树之二叉链表
- K - Yet Another Story of Rock-paper-scissors