标题: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文件操作进行详细的总结,并提供相关的示例。 1. **File类**:Java中的`File`类是所有文件和目录操作的基础。它提供了创建、删除、重命名文件和目录的方法,以及获取文件属性如大小、最后修改时间等。...
Java文件操作是编程中不可或缺的一部分,尤其是在处理I/O流、文件读写以及文件管理时。Apache Commons IO是一个非常实用的库,它为Java开发者提供了大量的工具类和方法,以简化文件操作。在这个场景中,我们关注的是...
- 自Java 7起,引入了NIO.2,提供更高效和更灵活的文件操作,如`Files`类中的静态方法,可以方便地进行文件操作,如复制、移动、删除等。 8. **字符编码**: - 文件读写时需考虑字符编码问题。默认的编码可能不...
总结来说,`java.io.File`类是Java中处理文件和目录的核心工具,配合自定义的`FileUtil`类,可以方便地进行各种文件操作,包括创建、删除、读取、写入等。熟练掌握`File`类和`FileUtil`类的使用,将使你在Java开发中...
在Java中,文件操作主要依赖于`java.io`包中的类,如`File`、`FileWriter`和`BufferedWriter`等。`File`类用于文件和目录的基本操作,如创建、删除和检查文件是否存在。而`FileWriter`和`BufferedWriter`则用于写入...
在Java中,`java.io`包提供了丰富的类和接口来支持文件操作,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。首先,我们需要创建一个`File`对象来代表我们想要操作的文件或目录。...
Java文件操作中的一些常用方法的总结,可以参考参考啦!
下面是关于 Java 文件操作的知识点总结: 一、文件移动 文件移动是指将文件从一个目录下移到另一个目录下。在 Java 中,可以使用 File 类的 renameTo 方法来实现文件移动。例如: `File oldFile = new File("c:/...
根据提供的文件标题、描述、标签以及部分内容,我们可以总结出以下几个重要的Java知识点,这些知识点与文件操作密切相关: ### 1. 文件和目录的基本操作 #### 1.1 创建目录(文件夹) ```java public static void...
在现代Web应用中,用户对交互性和...总结起来,Ajax实现Java文件下载是一种提高用户体验的有效手段,通过前后端的协同工作,实现了无刷新的文件下载功能。理解并掌握这一技术,对于提升Web应用的交互性具有重要意义。
本文将深入解析一个名为`FileUtils`的类,该类封装了一系列用于文件操作的通用方法,旨在提高代码的复用性和效率。 #### 1. `getResourceStream`方法 此方法用于根据相对路径获取输入流,主要用于读取类路径下的...
总的来说,Java文件管理器是一个综合性的项目,涵盖了文件操作、目录管理、数据安全等多个方面的知识,是学习和实践Java I/O和加密技术的好例子。通过这样的项目,开发者可以深入理解Java平台如何与操作系统交互,...
### 一、Java文件操作概述 Java提供了丰富的API来处理文件操作,这些操作主要包括文件的创建、删除、读取和写入等基本功能。Java中的文件操作主要依赖于`java.io`包下的`File`类以及其他相关的输入/输出流类。 ###...
### Java文件操作大全知识点概述 本文档《Java文件操作大全》详细介绍了在...以上是对《Java文件操作大全》中关键知识点的总结。通过学习这些内容,开发者可以更好地掌握如何在Java应用程序中高效地处理文件操作任务。
总结起来,Java提供了丰富的API来处理文件操作,包括分割大文件。通过结合`FileInputStream`、`FileOutputStream`以及适当的逻辑,我们可以根据文件大小或时间间隔来分割大文件。在实际开发中,应根据具体需求调整...
总结来说,用JAVA解析DBC文件涉及的关键技术包括文件I/O操作、字符串处理、数据类型转换以及对象建模。在处理过程中需关注数据的大小端问题,以确保解析的正确性。同时,解析后的数据可以用于多种汽车相关的软件开发...
总结起来,Java提供了丰富的文件操作API,使得文件分割和合并变得简单易行。在实际应用中,这些技术可以用于分发大型文件、处理大数据流或实现分布式系统中的数据传输。了解和熟练掌握这些技术对于任何Java开发者来...