`

JDK学习--java.io--File

阅读更多
File 类使用总结
        1. 文件的建立
           在使用 File f = new File("dir");的时候,这个dir若是是完整的路径。例如 F:\\ll。注意:在这一步的时候实际上还未创建文件或目录
          若是相对的路径,例如 "ll",那么该文件就会创建在工程的根目录下
          若只是想创建文件 则还需要下面完整语句
File f = new File("dir")                        //这步只是建立了一个到dir的文件句柄,实际上还未做任何操作
             boolean success = f.createNewFile();

             若是想创建目录:
          
           File f = new File("F:\\haha\\ll");        
           boolean success = f.mkdir();        //该方式创建的要求是它的父目录存在
           boolean success2 = f.mkdirs(); //该方式表示父目录不存在,则创建父目录。建议使用这种方式进行目录的创建。

                               
        2. 重命名文件
       
 
         File f1 = new File("F:\\haha.txt");        //注意:这个文件必须是存在的,如果不存在,那么使用 f1.createNewFile();
         File f2 = new File("new.txt");  //这个f2可以是不存在。如果是相对路径,那么就是存在工程目录下面D:\develop\myUtil
         boolean success = f1.renameTo(f2);        
        

        3. 文件的移动
 
              File file = new File("F:\\new.txt");
              File dir = new File("F:\\haha");
              boolean success = file.renameTo(new File(dir,file.getName()));
              if(success){
                System.out.println("create file success");
              }
       

  4. 设置文件的最后修改时间
             File file = new File("F:\\haha\\new.txt");
             long l = file.lastModified();
        
             long current = System.currentTimeMillis();
             boolean success = file.setLastModified(current);
             if(success){
                 System.out.println("modify success!");
             }

       
  5. 获得过程的目录
             String dir = System.getProperty("user.dir");
             System.out.println(dir);        //这里输出的就是 工程所在的目录                        D:\develop\myUtil

 
  6. 目录的删除 
         
       //删除文件只能用全路径
    public static boolean deleteDir(File file){
      if(file.isDirectory()){
        String[] dirList = file.list();
        if(dirList.length!=0){                                                                                                                                                                            //这里不是为NULL值,若无则长度为0
        for(int i = 0 ; i < dirList.length ; i++){
            boolean success = deleteDir(new File(file,dirList[i]));
            if(!success){
                   return false;
            }
         }
            }
        }
        return file.delete();
    }

  
   7. 获得所有的操作系统的根路径
     若是linux系统,则获得是/ ,若是window系统,那么获得的是几个硬盘名字。立体如下所表示:
        File[] roots = File.listRoots();
        System.out.println(roots.length);
        for(File ff : roots){
            System.out.println(ff.toString());
            process(ff);
        }

       
   8. 根据不同的操作系统来定义文件的路径,如在window系统中是用\,在linux、unix系统中是\
 // 那么File.separator就会根据不同的操作系统来进行相应的改动
     String path = File.separator+"a"+File.separator+"b";
     System.out.println(path);                                        
     // 得到的就是 \a\b 我们可以配合File.listRoots()来进行配合使用
     String path = File.listRoots()[0]+"a"+File.separator+"b";
     System.out.println(path);
     //得到的是 c:\a\b
   

   9. File && URL之间的转换
       File file = new File(File.listRoots()[3]+"haha");
       /* conver file to url*/
       URL url = file.toURL(); //file:/F:/haha/
       /* conver url to file*/
       File f2 = new File(url.getFile());//F:\haha
      
            
  10. 读取文件时候指定编码方式
        BufferedReader br = new BufferedReader(
        new InputStreamReader(new FileInputStream("hah.txt"),"UTF8"));
        String len = null;
        StringBuffer pp = new StringBuffer();
        while((len = (br.readLine()))!=null){
            pp.append(len);
        }

                                          
分享到:
评论

相关推荐

    jdk-7u67-linux-x64.tar.gz

    - **文件系统API**:提供了新的文件系统API,以替代旧的java.io.File类。 - **并发工具增强**:增强了并发工具包,如ForkJoin框架等。 ### 五、总结 “jdk-7u67-linux-x64.tar.gz”是一个针对Linux 64位系统的JDK ...

    离线JDK9中文版 | API_jdk-9.CHM

    Java开发工具包(Java Development Kit,简称JDK)是Java编程语言的标准开发环境,它包含了编译、运行Java程序所需的各种工具和库。这个离线JDK9中文版的API文档,即`API_jdk-9.CHM`,是开发者在没有网络连接时查阅...

    Netty (netty-netty-5.0.0.Alpha2.tar.gz)

    Netty (netty-netty-5.0.0.Alpha2.tar.gz)是一个 NIO 客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化和流线了网络编程,例如 TCP 和 UDP 套接字服务器。...

    commons-net-1.4.1.jar

    该库为Java开发者提供了丰富的API,以便在他们的应用程序中轻松地集成FTP服务。 FTP是互联网上最古老的协议之一,用于在客户端和服务器之间传输文件。Apache Commons Net 1.4.1提供了一个全面的Java实现,支持FTP的...

    commons-fileupload-1.3.2.jar

    factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // 设置临时文件存储路径 ServletFileUpload upload = new ServletFileUpload(factory); upload.setFileSizeMax(10 * 1024 * 1024); // ...

    bcprov加密库

    Caused by: java.util.jar.JarException: file:/opt/code/signal-Server-master/target/TextSecureServer-1.87.jar has unsigned entries - org/whispersystems/dispatch/DispatchManager$4.class at javax.crypto....

    woodstox-core-asl-4.0.6.jar

    此外,Woodstox对Java平台的兼容性良好,无论是JDK 5还是更高版本,都能顺利运行。 在实际应用中,Woodstox-core-asl-4.0.6.jar的使用并不复杂。首先,需要将其添加到项目的类路径中,然后可以通过StAX API来创建...

    jai_imageio-1.1.jar.zip

    import java.io.File; public class JAIExample { public static void main(String[] args) { File inputFile = new File("path/to/your/image.jpg"); RenderedOp image = JAI.create("fileload", inputFile....

    java.io:clojure.java.io 的 JK7 java.nio.file.Path 兼容性

    依赖: [me.moocar/java.io " 0.1.0 " ]用法是 JDK7 中引入的文件路径的抽象。 这个库提供了和 Paths 之间的兼容性。 下面的示例用法( require 'me.moocar.java.io)( require '[clojure.java.io :as jio])( import ...

    dubbo、dubbox编译所需jar包

    file-management-1.2.1.jar fst-1.55.jar grizzly-core-2.1.4.jar hessian-lite-3.2.1-fixed-2.jar hibernate-validator-4.2.0.Final.jar hsqldb-1.7.1.jar htmlunit-1.9.jar httpclient-4.0.1.jar httpclient-4.1.2...

    aspose-words-19.6-jdk17.jar word转pdf工具,亲测可用

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import com.aspose.words.Document; import com.aspose.words.SaveFormat; /** * TODO(这里用一句话描述这个类的作用) * ...

    JDK1.6 API帮助文档.rar

    综上所述,JDK1.6 API帮助文档不仅涵盖了Java语言的基本要素,还涉及了广泛的系统功能和高级特性,是学习和开发Java应用的重要资源。通过深入理解和熟练使用这些API,开发者可以构建高效、稳定且功能丰富的应用程序...

    JDK_API_1.8中文.zip

    - **java.io**: 文件输入输出操作相关的类和接口,如File、InputStream、OutputStream、Reader、Writer等。 - **java.nio**: 非阻塞I/O包,提供了一种更高效的数据传输方式。 - **java.math**: 大整数和大浮点数操作...

    JDK1.7 之java.nio.file.Files 读取文件仅需一行代码实现

    JDK1.7 之 java.nio.file.Files 读取文件仅需一行代码实现 java.nio.file.Files 类是 JDK1.7 中引入的新的文件操作类,该类包含了许多有用的方法来操作文件。其中,Files.readAllBytes(Path) 方法可以将整个文件...

    hadoop-lzo-0.4.21-SNAPSHOT jars

    Hadoop-LZO的源代码编译通常涉及到Java开发环境(JDK)、Maven构建工具以及可能需要的其他依赖库。 压缩包内的三个文件分别是: 1. `hadoop-lzo-0.4.21-SNAPSHOT-javadoc.jar`:这是Hadoop-LZO的Java文档(Javadoc...

    jdk 1.6 API HTML Chinese

    - **JSR 203 (Java File I/O API)**:新增了许多文件操作的API,如Path、Files、FileVisitOption等。 2. **核心类库**: - **java.lang**:包含基础数据类型、对象模型、线程管理、异常处理等核心类。 - **java....

    Windouws 64 位Tomcat7.0.40 + 64位jdk1.7.0u21 绿色版.part1

    Windouws 64 位Tomcat7.0.40 + 64位jdk1.7.0u21 绿色版 part1 纯绿色,官方下载,绝对可用~ 欢迎评论吐槽~ 文件 PATH 列表 │ LICENSE │ NOTICE │ RELEASE-NOTES │ RUNNING.txt │ ├─bin │ bootstrap.jar │...

    openjdk-8-src-b132-03_mar_2014-windows-native.zip

    - `jdk/src/windows/native`: 该目录下的代码主要实现了Java核心库的Windows版本,如awt、java.io、java.net等。 - `make/windows`: 包含构建Windows平台OpenJDK的Makefile和其他配置文件。 4. **JNI(Java ...

    解决JDK1.6下的Base64报错问题

    在JDK 1.8及更高版本中,Java引入了`java.util.Base64`类,提供了完整的Base64编码和解码功能。但在JDK 1.6中,这个类是不存在的,因此如果直接使用高版本的代码,编译器会报找不到类的错误。为了解决这个问题,我们...

    jdk-7u80-windows-x64.zip

    5. **Improved File I/O**:NIO.2(New IO 2.0)提供了更好的文件系统访问接口,如Path类,以及异步I/O操作。 6. **Fork/Join框架**:这个并行计算框架用于执行分治算法,通过将大任务拆分为小任务并行处理,提升了...

Global site tag (gtag.js) - Google Analytics