一、.File 类
对文件进行操作,建立文件,删除文件,读取文件,写入文件
读取文件夹就是把文件中的二进制数给取出来;
写入文件就是把二进制数存放到对应的文件中去
1.访问文件属性的方法:
File file=new File("D:\\IOTest\\src.txt"); //建立一个文件对象,指定文件路径
System.out.println("文件或目录是否存在:"+file.exists());
System.out.println("是文件吗? "+file.isFile());
System.out.println("是目录吗? "+file.isDirectory());
System.out.println("名称:"+file.getName());
System.out.println("路劲:"+file.getPath());
System.out.println("绝对路劲:"+file.getAbsolutePath());
System.out.println("绝对路劲规范表示:"+file.getCanonicalPath());
System.out.println("最后修改时间:"+file.lastModified());
System.out.println("文件大小:"+file.length()+"字节");
2.浏览目录中的文件和子目录的方法
File dir1=new File("D:\\IOTest\\dir1");
if(!dir1.exists()) //如果D:\\IOTest\\dir1 不存在,则建立一个目录
{
dir1.mkdir();
}
File dir2=new File(dir1,"dir2,"); //创建一个以dir1为父目录,名为"dir2"的File对象
if(!dir2.exists()) //如果还不存在,就创建目录
{
dir2.mkdirs();
}
File dir4=new File(dir1,"dir3\\dir4"); //在dir1 目录下面创建dir3,dir3下创建dir4
if(!dir4.exists())
{
dir4.mkdirs();
}
File file1=new File(dir2,"test.txt");//创建一个以dir2为父目录,名为"test.txt"的File对象
if(!file1.exists()) //如果不存在,则创建文件
{
file1.createNewFile();
}
System.out.println(dir1.getAbsolutePath()); //输出dir1 的绝对路劲名
listChilds(dir1,0); //递归显示dir1 下的所有文件和目录信息
deleteAll(dir1);//删除目录
//递归显示指定目录下的所有文件和目录信息。level用来记录当前递归的层次
public static void listChilds(File dir,int level)
{
StringBuilder sb=new StringBuilder("|--");
for(int i=0;i
{
sb.insert(0, "| ");
}
File[] childs=dir.listFiles(); //listFiles() 返回此目录中的文件和目录的File实例数组
//递归出口
int length=childs==null? 0:childs.length;
for(int i=0;i
{
System.out.println(sb.toString()+childs[i].getName());
if(childs[i].isDirectory()) {listChilds(childs[i],level+1);}
}
}
//删除目录或文件,如果参数file代表目录,会删除当前目录以及目录下的所有内容
public static void deleteAll(File file)
{ //如果file代表文件,就删除
if(file.isFile())
{
System.out.println("删除文件"+file.getAbsolutePath());
file.delete();
return ;
}
//如果file代表目录,先删除目录下的所有子目录和文件
File[] lists=file.listFiles();
for(int i=0;i
{
deleteAll(lists[i]); //递归删除当前目录下的所有子目录和文件
}
System.out.println("删除目录"+file.getAbsolutePath());
file.delete();
}
3.IO流
所谓的IO流类似于水管,自来水厂通过水管把自来水送到家家户户。IO流包括输入流和输出流,java程序读取数据和写出数据都是在这个“管道”里面操作的。
如果你要读取数据或者写入数据,首先就得建立这个“管道”,
IO流又分为字节流和字符流。
顾名思义:字节流就是传送字节的流,字符流就是传送字符的流,一般来说,一个字节是8bit,而一个字符是16bit,因此:一个字符=2个字节的大小。
InputStream表示字节输入流所有类的超类
OutputStream表示字节输出流所有类的超类
Reader表示字符输入流所有类的超类
Writer表示字符输出流所有类的超类
阅读(1352) | 评论(0) | 转发(0) |