1.file类
File类的对象可以代表一个具体的文件路径,在实际代表时,可以使用绝对路径也可以使用相对路径。
File f1 = new File(“d:\\test\\1.txt”);
File f2 = new File(“1.txt”);
File f3 = new File(“e:\\abc”);
这里的f1和f2对象分别代表一个文件,f1是绝对路径,而f2是相对路径,f3则代表一个文件夹,文件夹也是文件路径的一种。
File f4 = new File(“d:\\test\\”,”1.txt”);
这样代表的文件路径是:d:\test\1.txt。
2.file常用方法
createNewFile() 该方法的作用是创建指定的文件。该方法只能用于创建文件,不能用于创建文件夹,且文件路径中包含的文件夹必须存在。
exists() 测试当前 File 是否存在。
getAbsolutePath() 返回由该对象表示的文件的绝对路径名。 getCanonicalPath() 返回当前 File 对象的路径名的规范格式。 getName() 返回表示当前对象的文件名。
getParent() 返回当前 File 对象路径名的父路径名,如果此名没有父路径则为 null。 getPath() 返回表示当前对象的路径名。 hashCode() 计算此文件的一个哈希码。
isFile方法 该方法的作用是判断当前File对象是否是文件。
mkdirs() 创建一个目录,它的路径名由当前 File 对象指定,包括任一必须的父路径。 renameTo(File) 将当前 File 对象指定的文件更名为给定参数 File 指定的路径名。 toString() 返回当前对象的字符串表示.
3.读取文件
1).利用FileInputStream读取文件
public String FileInputStreamDemo(String path) throws IOException...{
File file=new File(path);
if(!file.exists()||file.isDirectory())
throw new FileNotFoundException();
FileInputStream fis=new FileInputStream(file);
byte[] buf = new byte[1024];
StringBuffer sb=new StringBuffer();
while((fis.read(buf))!=-1)...{
sb.append(new String(buf));
buf=new byte[1024];//重新生成,避免和上次读取的数据重复
}
return sb.toString();
}
2).利用BufferedReader读取
在IO操作,利用BufferedReader和BufferedWriter效率会更高一点
public String BufferedReaderDemo(String path) throws IOException...{
File file=new File(path);
if(!file.exists()||file.isDirectory())
throw new FileNotFoundException();
BufferedReader br=new BufferedReader(new FileReader(file));
String temp=null;
StringBuffer sb=new StringBuffer();
temp=br.readLine();
while(temp!=null)...{
sb.append(temp+" ");
temp=br.readLine();
}
return sb.toString();
}
3) 写文件
FileOutputStream out = null;
FileOutputStream outSTr = null;
BufferedOutputStream Buff=null;
FileWriter fw = null;
int count=1000;//写文件行数
try {
out = new FileOutputStream(new File("C:/add.txt"));
long begin = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
out.write("测试java 文件操作\r\n".getBytes());
}
out.close();
long end = System.currentTimeMillis();
System.out.println("FileOutputStream执行耗时:" + (end - begin) + " 豪秒");
outSTr = new FileOutputStream(new File("C:/add0.txt"));
Buff=new BufferedOutputStream(outSTr);
long begin0 = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
Buff.write("测试java 文件操作\r\n".getBytes());
}
Buff.flush();
Buff.close();
long end0 = System.currentTimeMillis();
System.out.println("BufferedOutputStream执行耗时:" + (end0 - begin0) + " 豪秒");
fw = new FileWriter("C:/add2.txt");
long begin3 = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
fw.write("测试java 文件操作\r\n");
}
fw.close();
long end3 = System.currentTimeMillis();
System.out.println("FileWriter执行耗时:" + (end3 - begin3) + " 豪秒");
} catch (Exception e) {
e.printStackTrace();
}
finally {
try {
fw.close();
Buff.close();
outSTr.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
4.通过URL获取file类
URL url = new URL("http://127.0.0.1:8080/weibo.properties");
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn
.getInputStream()));
String line = null;
try {
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} finally {
reader.close();
}
根据URL获得file,读取并写成流文件返回
try
{
URL url = new URL(fileUrl);
URLConnection conn = url.openConnection();
BufferedInputStream bis=new BufferedInputStream(conn
.getInputStream());
byte[] buffer = new byte[1024];
int length=0;
while ((length=bis.read(buffer))!= -1) {
response.getOutputStream().write(buffer, 0, length);
}
bis.close();
response.getOutputStream().close();
}
catch (Exception e)
{
System.out.println("downloadFileByUrl 出现异常:"+e.toString());
}
5.copyFile
public static void copyFile(File sFile,File tFile)
{
if(sFile!=null&&sFile.isFile()&&sFile.exists())
{
String tFilePath=tFile.getAbsolutePath();
String sFilePath=sFile.getAbsolutePath();
if(tFile.exists())
{
String bakPath=tFile.getAbsolutePath()+".bak";
tFile.renameTo(new File(bakPath));
}
FileInputStream fis = null;
FileOutputStream fos = null;
try {
File targetFile=new File(tFilePath);
targetFile.createNewFile();
fis = new FileInputStream(sFilePath);
fos = new FileOutputStream(tFilePath);
byte[] buffer = new byte[1024];
int length=0;
while ((length=fis.read(buffer))!= -1) {
fos.write(buffer, 0, length);
}
fis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
相关推荐
Java的I/O编程,java file 操作,读写...使用输出流写入数据
`java.nio.file`包提供了`Paths`、`Files`和`FileSystem`等类,它们提供了更为现代且功能强大的文件操作接口。例如,`Files.createFile()`、`Files.copy()`和`Files.delete()`等。 9. **异步文件操作**: 在Java 7...
在Java编程语言中,`File`类是用于处理文件和目录的基本工具,它不直接进行读写操作,但提供了很多方便的功能,如创建、删除、重命名文件以及获取文件属性等。以下是对Java `File`类操作实例的详细说明: 1. **创建...
在Java中,`java.io.File`类是用于操作文件和目录的基本工具。它可以用来创建、删除、重命名文件,以及获取文件的属性信息,如大小、路径、最后修改时间等。 要读取一个TXT文档,我们需要使用Java的I/O流。这里主要...
java 中很多人对File迷惑,以为它是对文件内容操作的,其实不是的,它主要是文件及其目录的操作。 这里实例是一些文件目录查看器。
Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作文件和目录的基础类。`File`对象代表了文件和目录路径名的抽象表示。在这个详细的讲解中,我们将深入探讨`File`类的各种功能,包括创建、读取、...
在本项目中,"JavaFile文件操作"着重介绍了如何使用`File`类进行文件的基本操作,包括创建文件、复制文件或文件夹、删除文件或文件夹以及剪切文件或文件夹。以下是对这些功能的详细说明: 1. **创建文件** 使用`...
在Java编程语言中,文件操作是一项基础且至关...不过,这里主要讲解了`File`类的基本使用,希望对你复习Java文件操作有所帮助。记住,良好的文件管理是任何项目的基础,确保正确处理文件能有效防止数据丢失和程序错误。
在Java Web开发中,经常需要处理用户上传的文件,比如图片、文档等。这些文件通常比较大,如果直接将文件的内容作为字符串保存在数据库中,可能会导致数据库性能下降。因此,通常会采用二进制大对象(BLOB)的方式来...
在Java编程语言中,`java.io.File`类是一个非常重要的类,它提供了对文件和目录路径名的抽象表示,并且支持一些基本的操作,例如创建、删除文件或目录等。本文将详细介绍`File`类中的常用构造方法及方法,并给出相应...
Java File Copy Library是一个由Java开发者社区贡献的开源项目,旨在提供高效、可靠且灵活的文件复制功能。这个库专门设计用来解决在Java应用程序中复制文件和目录时遇到的各种挑战,如处理大文件、监控复制进度、...
Java中的`File`类是Java标准库中用于处理文件和目录的一个重要类,它提供了丰富的API来获取和操作文件及目录的信息。以下是对`File`类及其相关知识点的详细解析: ### File和路径的概念 在Java中,`File`类主要...
Java中的`File`类是Java I/O流体系中非常基础且重要的部分,它主要用于操作文件和目录。在Java中,如果你需要对文件进行创建、删除、重命名、获取属性等操作,`File`类就是你的首选。下面我们将深入探讨`File`类的...
Java 中的 File 类是 java.io 包中的一员,它提供了对文件和文件夹的操作。下面是对 File 类的使用方法的详细讲解。 构造函数 File 类有多个构造函数,分别是: * `public File(String pathname)`: 通过文件路径...
java视频教程 Java文件操作 JavaFile
通过以上介绍,我们不仅掌握了`File`类的基本使用,还学会了如何使用Java进行文件的读取和写入操作。这对于日常的文件管理和数据处理非常重要。希望这些知识能帮助你在Java编程中更好地处理文件相关的任务。
Java编写的FileSearch工具是一个基于Swing界面的文件搜索应用程序,它使用了文件操作类和递归算法来高效地在用户指定的目录下查找特定类型的文件。这个工具对于开发者和普通用户来说都非常实用,因为它可以帮助他们...
在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 #### 文件路径类型概述 在Java中,处理文件...
### Java I/O 操作全集...以上就是关于Java中`File`类的一些基本操作和示例代码。理解并熟练掌握这些基本操作对于进行Java文件和目录的管理非常重要。希望这些知识点能帮助你在Java开发过程中更高效地进行文件操作。