File文件对象

文件和文件夹都是用File代表

创建一个文件对象,(并不会有真正的文件或文件夹被创建)

File f1 = new File("d:/lolfilder");
System.out.println("f1的绝对路径:"+f1.getAbsolutePath());
File f2 = new File("lol.exe");
System.out.println("f2的绝对路径:"+f2.getAbsolutePath());
File f3 = new File(f1, "lol.exe");
System.out.println("f3的绝对路径:"+f3.getAbsolutePath());
//mkdir()创建文件夹 父文件夹不存在则创建失败
//f3.mkdir();
//mkdirs()创建文件夹 父文件夹不存在则创建父文件夹然后再创建该文件夹
f3.mkdirs();
System.out.println("f3是否存在:"+f3.exists());
//list()返回一个字符串数组包,含当前文件夹下的所有文件名称
String[] fStrings=f1.list();
for(String s:fStrings) {
System.out.println(s); }

遍历文件夹练习

遍历C:\WINDOWS目录目录下所有的文件(不用遍历子目录)找出这些文件里,最大的和最小(非0)的那个文件,打印出他们的文件名

要求:最小的文件不能是0长度

实现思路:不遍历子目录较简单,建立最大文件和最小文件对象,然后用循环保证最大和最小。要注意最小文件不能是0,所以要给min一个值,要不然大小为0的文件比所有文件都小

public class test {
/**
*
* 遍历c盘windows文件夹下的所有文件(不包括子目录下的),并列出最大和最小的
*/
public static void main(String[] args) {
File file = new File("C:\\Windows");
File max=new File(" ");
File min = new File(" ");
//用listFiles方法获得一个File类型的数组
File []fs = file.listFiles();
//foreach
for(File f:fs) { //给min一个初值,要不然一直是最小的
if(min.length()==0)
min=max;
//比max大的,取代max
if(max.length()<f.length()) {
max= f;
} //比min小的取代min
if(min.length()>f.length()&&f.length()!=0) {
min= f;
} System.out.println("文件名为:"+f.getAbsolutePath()+"大小为:"+f.length());
} System.out.println("最大文件为:"+max.getAbsolutePath()+"大小为:"+max.length());
System.out.println("最小文件为:"+min.getAbsolutePath()+"大小为:"+min.length()); } }

接下来是要遍历子目录:

实现思路就是使用递归,如果它当前文件是文件夹就继续调用该方法

public class List {
/**
*
* 使用递归遍历c盘windows文件夹下的所有文件(包括子目录下的),并列出最大和最小的
*/ File max = new File(" ");
File min = new File(" "); public void listFile(File file) { //如果f是一个文件夹,开始递归
if(file.isDirectory()) {
File[] fs = file.listFiles();
if(null!=fs)
for (File f : fs) {
listFile(f);
}
}
//如果file是文件
if(file.isFile()) { //给min一个初值,要不然一直是最小的
if(min.length()==0)
min=max;
//比max大的,取代max
if(max.length()<file.length()) {
max= file;
} //比min小的取代min
if(min.length()>file.length()&&file.length()!=0) {
min= file;
} return;
}
} }

I/O————File对象的更多相关文章

  1. AIR 中的 File 对象 所访问的文件夹位置

    AIR 中的 File 对象 所访问的文件夹位置 Link 关于File.cacheDirectory的一点说明 According to the Apple guidelines, data tha ...

  2. Python 读写文件和file对象(转)

    1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...

  3. 标准I/O库之流和FILE对象

    对于标准I/O库,它们的操作是围绕流(stream)进行的.当用标准I/O库打开或创建一个文件时,我们已使一个流与一个文件相关联. 对于ASCII字符集,一个字符用一个字节表示.对于国际字符集,一个字 ...

  4. HTML5 File 对象

    实例说明1: <div class="container"> <input type="file" id="file" m ...

  5. 关于Android Assets读取文件为File对象

    关于Android Assets读取文件为File对象的问题,在Assets里面放置文件,在使用的时候,一般是使用AssetManger对象,open方法获取InputStream 然后进行其他操作. ...

  6. 相对路径与绝对路径构造file对象

    package file; import java.io.File; public class FileTest1 { public static void main(String[] args) { ...

  7. File对象的常用方法

    File对象不仅可以表示文件,还可以表示目录,源码注释是这么说的:An abstract representation of file and directory pathnames. File类最常 ...

  8. VBS基础篇 - 对象(5) - File对象

    VBS基础篇 - 对象(5) - File对象   描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得. 使用File对象        要用File对象模型来编程必须先用FileS ...

  9. Vue 普通对象数据更新与 file 对象数据更新

    最近在做一个多图片上传的组件,需求是做到多文件依次上传,并显示上传进度条. 逻辑部分实现了以后,在更新进度条视图的时候出现一点问题:动态计算生产的进度 progress 属性不会自动更新. 原来的代码 ...

  10. js,JQ 图片转换base64 base64转换为file对象,blob对象

    //将图片转换为Base64 function getImgToBase64(url,callback){ var canvas = document.createElement('canvas'), ...

随机推荐

  1. 内存泄漏分析工具tMemMonitor (TMM)使用简介

    C/C++由于灵活.高效的优点一直以来都是主流的程序设计语言之一,但是其内存的分配与释放均由程序员自己管理,当由于疏忽或错误造成程序未能释放不再使用的内存时就会造成内存泄漏.在大型.复杂的应用程序中, ...

  2. APACHE2 服务器配置 (一)

    1.安装 sudo apt-get install apache2 2.重启: sudo service apache2 resatrt 3.设置根目录: /var/www 设置方法: 2.2版: / ...

  3. node process-进程

    process对象是一个全局变量,提供Node.js进程的有关信息以及控制进程.因为是全局变量所以可以直接使用

  4. bzoj2718

    二分图匹配 首先有个定理:最长反链=最小链覆盖 最小链覆盖可以重复经过点 所以我们不能直接建图 那么我们用floyd判断是否相连 然后建图就行了 #include<bits/stdc++.h&g ...

  5. bzoj3625

    fft 分治虽然是万能的,但是太慢了 分治是nlog^2n的,太慢了,于是我们用求逆和开根 设f(x)表示答案为x的方案数 c表示物品的生成函数 那么f=f*f*c+1 f*f表示左右儿子的方案数 c ...

  6. Oracle中CASE WHEN的用法实例

    实例演示: (1)查询表users中的数据. select u.id,u.realname,U.SEX from users u; 查询结果如下 ID    REALNAME SEX 1  10082 ...

  7. HDFS源码分析二-NameNode实现

    2. NameNode 实现( 未完待续 )

  8. LeetCode: 292 Nim Game(easy)

    题目: You are playing the following Nim Game with your friend: There is a heap of stones on the table, ...

  9. Android-毛笔的探索与开发

     前言 这篇文章主要是关于移动端毛笔的开发,在平板上有着书写毛笔字贴的效果. 介绍关于毛笔的算法思路. 项目github地址 算法思路分析 曲线拟合算法 利用曲线拟合算法增加虚拟的点,使得笔迹更加光滑 ...

  10. JavaWeb学习——获取类路径下的资源

    对于JavaWeb而言,获取类路径下的资源,就是获取classes目录下的资源. 获取资源的方式有两种,利用Class或ClassLoader. Class类的getResourceAsStream( ...