`
gstarwd
  • 浏览: 1525296 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java文件操作总结

阅读更多
标题:Java文件操作总结(一)

内容:
由于一直在使用Java file功能,但是总是很混乱,今天将Java File的所有功能做一个总结。

Java文件操作我个人认为重要的问题有:

  a:如何跨平台问题
  b:文件编码问题,尤其是多语言平台情况下如何正常工作。
  c:文件读写效率、操作效率
  d:文件加密和文件安全
  e:文件快速检索,强烈建议使用lence进行文件检索及文件管理。

以下是本人做的一些整理:

一:建立文件

  File file1 = new File ("C:\\temp\\myNote.txt"); // in Windows 这是windows文件系统下的方法
  File file2 = new File ("/tmp/myNote.txt"); // in Linux/Unix    unix文件系统的方法

最安全的建立文件的方法:

  File myFile = new File("C:" + File.separator + "jdk1.5.0" + File.separator, "File.java");

  File.separator 是文件路径符号。
  System.out.println(myFile.getName());//取得文件名称的方法
  System.out.println(myFile.getPath());//取得文件路径的方法
  System.out.println(myFile.isAbsolute());//判断文件是否完整
  System.out.println(myFile.getParent());//取得文件的根目录
  System.out.println(myFile.exists());//判断文件是否存在
  System.out.println(myFile.isDirectory());//判断是否是目录
  System.out.println(myFile.isFile());//判断是否是文件
  System.out.println(myFile.isHidden());//判断是否是隐藏文件
  System.out.println(myFile.canRead());//判断是否可读
  System.out.println(myFile.canWrite());//判断是否可写

  File myFile_A = new File("C:" + File.separator);
    for(String s: myFile_A.list()){//读取某个目录下所有文件
    System.out.println(s);
    }

   File myFile_C=new File("d:/test.txt");
      System.out.println(new Date(myFile_C.lastModified()));//最后一次编辑时间
    myFile_C.renameTo(new File("c:/text.txt.bak"));//从命名
    myFile_C.setReadOnly();//设置为只读
二:文件过滤方法

  java提供了很好的文件过滤借口:FilenameFilter 过滤以后的文件可以用listFiles显示出来。效率还是非常高的。

import java.io.File;
import java.io.FilenameFilter;
import java.util.Date;
/**
 * 文件过滤器过滤类
 * @author fb
 */
class FileListFilter implements FilenameFilter {
 private String name;
 private String extension;
 public FileListFilter(String name, String extension) {
  this.name = name;
  this.extension = extension;
 }
 public boolean accept(File directory, String filename) {
  boolean fileOK = true;
  if (name != null) {
   fileOK = filename.startsWith(name);
  }
  if (extension != null) {
   fileOK = filename.endsWith('.' + extension);
  }
  return fileOK;
 }
}
测试方法:

import java.io.File;
import java.io.FilenameFilter;
import java.util.Date;
/**
 * 文件过滤器  运行函数
 * @author fb
 */
public class Run_FileListFilter {
 public static void main(String[] args) {
   File myDir = new File("d:/");
   FilenameFilter select = new FileListFilter("F", "txt");
   File[] contents = myDir.listFiles(select);
   for (File file : contents) {
    System.out.println(file + " is a " + (file.isDirectory() ? "directory" : "file")
      + " last modified on\n" + new Date(file.lastModified()));
   }
 }
}
三:建立目录、文件、临时文件、删除文件或目录
import java.io.File;
import java.io.IOException;

public class MakeDir {
 
 public static void main(String[] args) {
  File myFile=new File("D:/myFubin/");
  if(myFile.mkdir()){//单级目录
   System.out.println("建立目录成功");
  }else{
   System.out.println("建立目录失败");
  }
 
  File myFile_A=new File("D:/myFubin/test/");
  if(myFile_A.mkdirs()){//多级目录
   System.out.println("建立目录成功");
  }else{
   System.out.println("建立目录失败");
  }
 
  File file = new File("d:\\myFubin\\test.txt");
  try {
   file.createNewFile();//建立空文件
  } catch (IOException e) {
   e.printStackTrace();
  }
 
  System.out.println(file.canRead());
 
  if(file.delete()){//删除文件或删除目录
   //删除文件的另外一个方法:file.deleteOnExit() 这种方法是在程序退出的时候将文件删除
   System.out.println("删除成功");
  }else{
   System.out.println("删除失败");
  }
 
  try {
   File tmp = File.createTempFile("foo", "tmp");//建立临时文件
   System.out.println("刚才建立的临时文件在:" + tmp.getCanonicalPath());
  } catch (IOException e) {
   e.printStackTrace();
  }
 
 
 }
 
}

 

标题:Java文件操作总结(二)

import java.io.File;
/**
 * 文件操作里Java 1.6 新功能:查询磁盘空间
 */
public class SpaceChecker {

public static void main(String[] args) {
File[] roots = File.listRoots();//取得所有的根,如果是windows系统那么将取得所有的磁盘
  for (int i = 0; i < roots.length; i++) {
   System.out.println(roots[i]);
   System.out.println("Free space = " + roots[i].getFreeSpace());
   System.out.println("Usable space = " + roots[i].getUsableSpace());
   System.out.println("Total space = " + roots[i].getTotalSpace());
   System.out.println();
  }
}
}

 

标题:Java文件操作总结(三)

内容:
使用Stream读文件


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class InPut {
 public static void main(String[] args) {
  File myFile=new File("d:/text.txt");
    try {
   FileInputStream aFileInputStream=new FileInputStream(myFile);
    //System.out.print(aFileInputStream.read());//  
    byte[] buffer = new byte[1024];//设置一次读取的数量
    while (true) {
     int bytesRead = aFileInputStream.read(buffer);
     System.out.println(bytesRead);
     if (bytesRead == -1)//当其为表示已经读完,那么停止循环表示一次读入完成
      break;
     System.out.println(bytesRead);
     System.out.write(buffer, 0, bytesRead);
    }
    } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}


使用Stream写文件

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class OutPut_A {

public static void main(String[] args) {
File myFile=new File("d:/Test2.txt");
try {
FileOutputStream aVar=new FileOutputStream(myFile);
byte[] aDate={65,66,67,68,69,70,71};//向文件写入:ABCDEFG
aVar.write(aDate);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


将文件的内容写入另外一个文件

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class OutPut {

 public static void main(String[] args) {
  File myFile=new File("d:/text.txt");
  File myFile_A=new File("d:/test1.txt");
    try {
   FileInputStream aFileInputStream=new FileInputStream(myFile);
   FileOutputStream aFileOutputStream=new FileOutputStream(myFile_A);
    byte[] my_Date=new byte[1024];
    int i=aFileInputStream.read(my_Date);
    while(i!=-1){
     aFileOutputStream.write(my_Date,0,i);
     i=aFileInputStream.read(my_Date);
    }
    aFileInputStream.close();
    aFileOutputStream.close();
    } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

}
 
分享到:
评论

相关推荐

    java文件操作总结

    下面将对Java文件操作进行详细的总结,并提供相关的示例。 1. **File类**:Java中的`File`类是所有文件和目录操作的基础。它提供了创建、删除、重命名文件和目录的方法,以及获取文件属性如大小、最后修改时间等。...

    java文件操作

    Java文件操作是编程中不可或缺的一部分,尤其是在处理I/O流、文件读写以及文件管理时。Apache Commons IO是一个非常实用的库,它为Java开发者提供了大量的工具类和方法,以简化文件操作。在这个场景中,我们关注的是...

    java文件读写操作

    - 自Java 7起,引入了NIO.2,提供更高效和更灵活的文件操作,如`Files`类中的静态方法,可以方便地进行文件操作,如复制、移动、删除等。 8. **字符编码**: - 文件读写时需考虑字符编码问题。默认的编码可能不...

    java 文件操作类

    总结来说,`java.io.File`类是Java中处理文件和目录的核心工具,配合自定义的`FileUtil`类,可以方便地进行各种文件操作,包括创建、删除、读取、写入等。熟练掌握`File`类和`FileUtil`类的使用,将使你在Java开发中...

    Java 文件追加操作

    在Java中,文件操作主要依赖于`java.io`包中的类,如`File`、`FileWriter`和`BufferedWriter`等。`File`类用于文件和目录的基本操作,如创建、删除和检查文件是否存在。而`FileWriter`和`BufferedWriter`则用于写入...

    java实现文件的读写操作

    在Java中,`java.io`包提供了丰富的类和接口来支持文件操作,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。首先,我们需要创建一个`File`对象来代表我们想要操作的文件或目录。...

    Java文件操作方法总结

    Java文件操作中的一些常用方法的总结,可以参考参考啦!

    java 移动文件.

    下面是关于 Java 文件操作的知识点总结: 一、文件移动 文件移动是指将文件从一个目录下移到另一个目录下。在 Java 中,可以使用 File 类的 renameTo 方法来实现文件移动。例如: `File oldFile = new File("c:/...

    java操作文件、文件夹

    根据提供的文件标题、描述、标签以及部分内容,我们可以总结出以下几个重要的Java知识点,这些知识点与文件操作密切相关: ### 1. 文件和目录的基本操作 #### 1.1 创建目录(文件夹) ```java public static void...

    ajax实现java文件下载

    在现代Web应用中,用户对交互性和...总结起来,Ajax实现Java文件下载是一种提高用户体验的有效手段,通过前后端的协同工作,实现了无刷新的文件下载功能。理解并掌握这一技术,对于提升Web应用的交互性具有重要意义。

    java 操作文件通用方法集合

    本文将深入解析一个名为`FileUtils`的类,该类封装了一系列用于文件操作的通用方法,旨在提高代码的复用性和效率。 #### 1. `getResourceStream`方法 此方法用于根据相对路径获取输入流,主要用于读取类路径下的...

    java文件管理器

    总的来说,Java文件管理器是一个综合性的项目,涵盖了文件操作、目录管理、数据安全等多个方面的知识,是学习和实践Java I/O和加密技术的好例子。通过这样的项目,开发者可以深入理解Java平台如何与操作系统交互,...

    java文件操作大全

    ### 一、Java文件操作概述 Java提供了丰富的API来处理文件操作,这些操作主要包括文件的创建、删除、读取和写入等基本功能。Java中的文件操作主要依赖于`java.io`包下的`File`类以及其他相关的输入/输出流类。 ###...

    Java文件操作大全.pdf

    ### Java文件操作大全知识点概述 本文档《Java文件操作大全》详细介绍了在...以上是对《Java文件操作大全》中关键知识点的总结。通过学习这些内容,开发者可以更好地掌握如何在Java应用程序中高效地处理文件操作任务。

    java 分割文件 将大文件分割成小文件

    总结起来,Java提供了丰富的API来处理文件操作,包括分割大文件。通过结合`FileInputStream`、`FileOutputStream`以及适当的逻辑,我们可以根据文件大小或时间间隔来分割大文件。在实际开发中,应根据具体需求调整...

    JAVA解析DBC文件

    总结来说,用JAVA解析DBC文件涉及的关键技术包括文件I/O操作、字符串处理、数据类型转换以及对象建模。在处理过程中需关注数据的大小端问题,以确保解析的正确性。同时,解析后的数据可以用于多种汽车相关的软件开发...

    用JAVA实现文件的分割

    总结起来,Java提供了丰富的文件操作API,使得文件分割和合并变得简单易行。在实际应用中,这些技术可以用于分发大型文件、处理大数据流或实现分布式系统中的数据传输。了解和熟练掌握这些技术对于任何Java开发者来...

Global site tag (gtag.js) - Google Analytics