zoukankan      html  css  js  c++  java
  • 1-File类的使用

    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();
            }
        }
    }
  • 相关阅读:
    URAL 2067 Friends and Berries (推理,数学)
    URAL 2070 Interesting Numbers (找规律)
    URAL 2073 Log Files (模拟)
    URAL 2069 Hard Rock (最短路)
    URAL 2068 Game of Nuts (博弈)
    URAL 2066 Simple Expression (水题,暴力)
    URAL 2065 Different Sums (找规律)
    UVa 1640 The Counting Problem (数学,区间计数)
    UVa 1630 Folding (区间DP)
    UVa 1629 Cake slicing (记忆化搜索)
  • 原文地址:https://www.cnblogs.com/fubaizhaizhuren/p/5026109.html
Copyright © 2011-2022 走看看