zoukankan      html  css  js  c++  java
  • 爪哇国新游记之三十三----目录文件操作

    1.判断路径是文件还是目录

    File subDir=new File("c:\mp3");
    if(subDir.isDirectory()){
       // 是目录
    }
    
    File mp3=new File("c:\mp3\avemaria.mp3");
                        
    if(mp3.isFile()){
       // 是文件
    }

    2.列出目录下的文件和子目录

    File dir = new File(fromDir);
    String[] children = dir.list();
    
    for (int i=0; i<children.length; i++) {
        String filename = children[i];
        ...
    }

    3.文件拷贝

    public static void copyFile(File sourceFile, File targetFile) throws IOException {
            BufferedInputStream inBuff = null;
            BufferedOutputStream outBuff = null;
            try {
                // 新建文件输入流并对它进行缓冲
                inBuff = new BufferedInputStream(new FileInputStream(sourceFile));
    
                // 新建文件输出流并对它进行缓冲
                outBuff = new BufferedOutputStream(new FileOutputStream(targetFile));
    
                // 缓冲数组
                byte[] b = new byte[1024 * 5];
                int len;
                while ((len = inBuff.read(b)) != -1) {
                    outBuff.write(b, 0, len);
                }
                // 刷新此缓冲的输出流
                outBuff.flush();
            } finally {
                // 关闭流
                if (inBuff != null)
                    inBuff.close();
                if (outBuff != null)
                    outBuff.close();
            }
        }

    2016年8月26日23:39:27改版

    /**
         * 将文件上传到服务器,返回在服务器的路径文件名
         * @param in
         * @param filename
         * @return
         * @throws Exception
         */
        public String upload2Server(InputStream in, String filename) throws Exception {
            BufferedInputStream inBuff = null;
            BufferedOutputStream outBuff = null;
            try {
                // 新建文件输入流并对它进行缓冲
                inBuff = new BufferedInputStream(in);
    
                // 新建文件输出流并对它进行缓冲
                String filePathname=uploadPath+getTimePrefix()+filename;
                outBuff = new BufferedOutputStream(new FileOutputStream(new File(filePathname)));
    
                // 缓冲数组
                byte[] b = new byte[1024 * 5];
                int len;
                while ((len = inBuff.read(b)) != -1) {
                    outBuff.write(b, 0, len);
                }
                // 刷新此缓冲的输出流
                outBuff.flush();
                
                return filePathname;
            } catch(Exception ex){
                logger.error(ex);
                throw ex;
            }
            finally {
                // 关闭流
                if (inBuff != null)
                    inBuff.close();
                if (outBuff != null)
                    outBuff.close();
            }
        }

    4.取得操作系统的临时目录

    String folder=System.getProperty("java.io.tmpdir");
  • 相关阅读:
    es的多种term查询
    es的批量导入
    可重入锁
    常见的字段类型
    es中的分词
    搜索的简单使用
    application.properties中的list配置
    mysql中的concat的几个函数使用
    文档的增删改查
    Mxnet学习笔记(3)--自定义Op
  • 原文地址:https://www.cnblogs.com/heyang78/p/4195966.html
Copyright © 2011-2022 走看看