package com.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List; import org.junit.Test; public class FileTest {
/**
* 1、File类对象,对应着物理中的一个文件
* 2、File类中的方法,仅涉及到如何创建、修改、删除等等对文件的操作,操作不了文件内容
* 操作文件内容需要io
* 3、File类的对象,常常作为io流具体类的形参
*/
@Test
public void fileTest(){
File file = new File("hello1.txt");//把物理中的一个文件表示成java里面的一个对象 System.out.println(file.getAbsolutePath());
System.out.println(file.getParent());
System.out.println(file.getPath());
System.out.println(file.getName()); File file1 = new File("hello2.txt");
/**
* 重命名
* 要求file必须存在,file1必须不存在,才能重命名成功。
* file和file1都必须是文件或都是目录
* 在同一盘符
*/
boolean flag = file.renameTo(file1);
System.out.println("重命名返回"+flag); /**
* 文件最后修改日期
*/
System.out.println(new Date(file1.lastModified()));
file.list();//返回String数组,仅能获取名字
file.listFiles();//返回file数组,可获取file对象,对file操作
} public static void createFile(String fileDirParam, String fileName)
throws IOException {
File fileDir = new File(fileDirParam);
boolean fileDirFlag = fileDir.exists(); System.out.println("is fileDir exists "+fileDirFlag);
if(!fileDirFlag){
boolean createDirFlag = fileDir.mkdirs();
System.out.println("is create filedir success " + createDirFlag);
} File file = new File(fileDirParam + fileName);
boolean fileExistFlag = file.exists();
System.out.println("is fileExist " + fileExistFlag);
if(!fileExistFlag){
boolean flag = file.createNewFile();
System.out.println("is file created " + flag);
} System.out.println("该分区大小"+file.getTotalSpace()/(1024*1024*1024)+"G");
} public static Long getFileLength(String fileDirParam, String fileName) throws IOException{
Long fileLength = 0l;
InputStream ins = null;//输入流 ins = new FileInputStream(new File(fileDirParam+fileName));
while(ins.read() != -1){
fileLength ++;
}
System.out.println("file length is "+fileLength); ins.close();//FileInputStream是有缓冲区的,所以用完之后必须关闭,否则可能导致内存占满,数据丢失 return fileLength;
} public static Long getFileLengthNew(String fileDirParam, String fileName) throws IOException{
Long fileLength = 0l;
List<Object> objList = new ArrayList<Object>();
HashMap ht;
Hashtable hs;
objList.hashCode();
InputStream ins = null;//输入流
byte[] buffer = new byte[1024];//在栈内存是定义1024个连续的byte单位
ins = new FileInputStream(new File(fileDirParam+fileName));
while(ins.read(buffer) != -1){ }
System.out.println("file length is "+fileLength); ins.close();//FileInputStream是有缓冲区的,所以用完之后必须关闭,否则可能导致内存占满,数据丢失 return fileLength;
} public static void main(String[] args) {
try {
getFileLengthNew("d:/a/d/e/c/", "test.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}

1-File类的使用的更多相关文章

  1. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  2. File 类

    File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...

  3. C#File类常用的文件操作方法(创建、移动、删除、复制等)

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...

  4. File类基础

    File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...

  5. 【转】File类应用 - FilenameFilter 和 FileFilter

    FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...

  6. Java篇-File类之创建删除

    /** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...

  7. JavaIO之File类

    Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...

  8. I/O流——File类及使用

    I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对 ...

  9. 初学File类

    对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...

  10. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

随机推荐

  1. django数据库时间存储格式问题

    http://blog.csdn.net/ichuzhen/article/details/38555645 一般建议用datefield 关于从数据库读取出来格式问题可以看 http://stack ...

  2. “我是谁?”-管理者的角色、职责与工作思路.ppt

    http://doc.mbalib.com/view/95b6a675adeaf38a2c028bd4f53f0bf6.html 管理者的三大工作重心: 任务(目标).团队.规划.

  3. js021-Ajax与Comet

    js021-Ajax与Comet 本章内容: 使用XMLHttpRequet对象 使用XMLHttpRequet事件 跨域Ajax通信的限制 Ajax技术的核心是XMLHttpRequet对象 21. ...

  4. js009-客户端检测

    js009-客户端检测 本章内容: 1.使用能力检测 2.用户代理检测的历史 3.选择检测方式 一般不使用客户端检测. 9.1 能力检测 也称特性检测.基本模式如下: if(object.proper ...

  5. 最简单的jQuery插件

    <script src="./jquery-1.7.1.min.js"></script><script>;(function($,undefi ...

  6. 在spark-shell里用集群方式启动时加入用户需要的jar

    希望在spark-shell中测试集群方式的elasticsearch操作, # 1 首先下载相关的jar # 2 启动spark-shell时用--jars ./bin/spark-shell –m ...

  7. C++ 生成 dll 和调用 dll 的方法实例(转)

    1)生成dll 建立两个文件 xxx.h , xxx.cpp xxx.h内容如下: #ifdef BUILD_XXX_DLL#define EXPORT __declspec(dllexport)#e ...

  8. Mac下切换bash

    MAC下的终端是神器,安装ZSH后,突然间发现太不好操作了,即使再配上oh-my-zsh也感觉不爽. 然后想删除,自己尝试了下找不到命令删除,于是在网上找找,但是也没找到.最后直接进隐藏文件夹,直接一 ...

  9. Outlook2003收到的邮件不能显示图片,但转发或回复可以 故障排错

    转自:http://wenku.baidu.com/link?url=4O0Wpsnk_OasA7B-M4KMJ4H-WnLicT4vfVOT7AvXhTjpn-p2gBTNsXR4W230r0gAE ...

  10. linux远程登录(Telnet、SSH)

    系统:RHEL 5.5 64位,使用CentOS的yum源并作更新处理 参考书目<Linux兵书>/电子工业出版社/刘丽霞,细节之处稍有变动. 一.Telnet(远程登录推荐SSH) 1. ...