热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java的file类中的方法(java中file的用法)

本文目录一览:1、java中的file类怎么用?

本文目录一览:


  • 1、java中的file类怎么用?


  • 2、java学习使用文件类File类?


  • 3、java中 File类是什么?

java中的file类怎么用?

java里的文件操作控制

一.获得控制台用户输入的信息

/** *//**获得控制台用户输入的信息

* @return

* @throws IOException

*/

public String getInputMessage() throws IOException...{

System.out.println("请输入您的命令∶");

byte buffer[]=new byte[1024];

int count=System.in.read(buffer);

char[] ch=new char[count-2];//最后两位为结束符,删去不要

for(int i=0;icount-2;i++)

ch[i]=(char)buffer[i];

String str=new String(ch);

return str;

}

可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。

二.复制文件

1.以文件流的方式复制文件

/** *//**以文件流的方式复制文件

* @param src 文件源目录

* @param dest 文件目的目录

* @throws IOException

*/

public void copyFile(String src,String dest) throws IOException...{

FileInputStream in=new FileInputStream(src);

File file=new File(dest);

if(!file.exists())

file.createNewFile();

FileOutputStream out=new FileOutputStream(file);

int c;

byte buffer[]=new byte[1024];

while((c=in.read(buffer))!=-1)...{

for(int i=0;ic;i++)

out.write(buffer[i]);

}

in.close();

out.close();

}

该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式

三.写文件

1.利用PrintStream写文件

/** *//**

* 文件输出示例

*/

public void PrintStreamDemo()...{

try ...{

FileOutputStream out=new FileOutputStream("D:/test.txt");

PrintStream p=new PrintStream(out);

for(int i=0;i10;i++)

p.println("This is "+i+" line");

} catch (FileNotFoundException e) ...{

e.printStackTrace();

}

}

2.利用StringBuffer写文件

public void StringBufferDemo() throws IOException......{

File file=new File("/root/sms.log");

if(!file.exists())

file.createNewFile();

FileOutputStream out=new FileOutputStream(file,true);

for(int i=0;i10000;i++)......{

StringBuffer sb=new StringBuffer();

sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ");

out.write(sb.toString().getBytes("utf-8"));

}

out.close();

}

该方法可以设定使用何种编码,有效解决中文问题。

四.文件重命名

/** *//**文件重命名

* @param path 文件目录

* @param oldname 原来的文件名

* @param newname 新文件名

*/

public void renameFile(String path,String oldname,String newname)...{

if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名

File oldfile=new File(path+"/"+oldname);

File newfile=new File(path+"/"+newname);

if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名

System.out.println(newname+"已经存在!");

else...{

oldfile.renameTo(newfile);

}

}

} 五.转移文件目录

转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。

/** *//**转移文件目录

* @param filename 文件名

* @param oldpath 旧目录

* @param newpath 新目录

* @param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作

*/

public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{

if(!oldpath.equals(newpath))...{

File oldfile=new File(oldpath+"/"+filename);

File newfile=new File(newpath+"/"+filename);

if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件

if(cover)//覆盖

oldfile.renameTo(newfile);

else

System.out.println("在新目录下已经存在:"+filename);

}

else...{

oldfile.renameTo(newfile);

}

}

}

六.读文件

1.利用FileInputStream读取文件

/** *//**读文件

* @param path

* @return

* @throws IOException

*/

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效率会更高一点

/** *//**读文件

* @param path

* @return

* @throws IOException

*/

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.利用dom4j读取xml文件

/** *//**从目录中读取xml文件

* @param path 文件目录

* @return

* @throws DocumentException

* @throws IOException

*/

public Document readXml(String path) throws DocumentException, IOException...{

File file=new File(path);

BufferedReader bufferedreader = new BufferedReader(new FileReader(file));

SAXReader saxreader = new SAXReader();

Document document = (Document)saxreader.read(bufferedreader);

bufferedreader.close();

return document;

}

七.创建文件(文件夹)

1.创建文件夹 /** *//**创建文件夹

* @param path 目录

*/

public void createDir(String path)...{

File dir=new File(path);

if(!dir.exists())

dir.mkdir();

}

2.创建新文件 /** *//**创建新文件

* @param path 目录

* @param filename 文件名

* @throws IOException

*/

public void createFile(String path,String filename) throws IOException...{

File file=new File(path+"/"+filename);

if(!file.exists())

file.createNewFile();

}

八.删除文件(目录)

1.删除文件 /** *//**删除文件

* @param path 目录

* @param filename 文件名

*/

public void delFile(String path,String filename)...{

File file=new File(path+"/"+filename);

if(file.exists()file.isFile())

file.delete();

}

2.删除目录

要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。 /** *//**递归删除文件夹

* @param path

*/

public void delDir(String path)...{

File dir=new File(path);

if(dir.exists())...{

File[] tmp=dir.listFiles();

for(int i=0;itmp.length;i++)...{

if(tmp[i].isDirectory())...{

delDir(path+"/"+tmp[i].getName());

}

else...{

tmp[i].delete();

}

}

dir.delete();

}

}

java学习使用文件类File类?

File类用于封装系统的文件和目录的相关信息。在该类中定义了一些与平台无关的方法来操作文件。例如文件的大小、修改时间、文件路径等。

创建 File 对象可以通过下面3种方式:

方法1:

方法2:

方法3:

new File(String pathName) File file = new File(“E://1.txt”) new File(String parent , String child)

parent :父抽象路径名;child:子路径名字符串

java中 File类是什么?

在java中File类是可以直接操作文件的类,

它有四个构造函数:

File(String parent,String child)

File(File parent,String child)

File(URI uri)

File(String pathname)

封装了以下主要方法:

canWrite() 返回文件是否可以读写

canRead() 返回文件是否可读

compareTo(File pathname)检查文件路径间的顺序

createNewFile() 当文件不存在时生成文件

delete() 从文件系统内删除该文件

deleteOnExit() 程序顺利结束时删除文件

equals(Object obj) 检查特定对象的路径名是否相等

exists() 判断文件是否存在

getAbsoluteFile() 返回文件完整路径的File实例

getAbsolutePath() 返回文件完整路径

getName() 返回文件名称

getParent() 返回文件父目录路径

getPath() 返回文件路径字符串

getParentFile() 返回文件所在文件夹的路径

hashCode() 返回文件哈希码

isDirectory() 判断该路径指示的是否是目录

isFile() 判断该路径指示的是否是文件

lastModified() 返回该文件最后更改时间标志

length() 返回文件长度

list() 返回文件和目录清单

mkdir() 生成指定的目录

renameTo(File dest) 更改文件名字

setReadOnly() 将文件设置为可读

toString() 返回文件状态的字符串

toURL() 将文件的路径字符串转换成URL

推荐于 2017-11-25

查看全部5个回答

— 你看完啦,以下内容更有趣 —

在java中File是什么意思?有什么作用?

在java中File类是可以直接操作文件的类,

它有四个构造函数:

File(String parent,String child)

File(File parent,String child)

File(URI uri)

File(String pathname)

封装了以下主要方法:

canWrite() 返回文件是否可以读写

canRead() 返回文件是否可读

compareTo(File pathname)检查文件路径间的顺序

createNewFile() 当文件不存在时生成文件

delete() 从文件系统内删除该文件

deleteOnExit() 程序顺利结束时删除文件

equals(Object obj) 检查特定对象的路径名是否相等

exists() 判断文件是否存在

getAbsoluteFile() 返回文件完整路径的File实例

getAbsolutePath() 返回文件完整路径

getName() 返回文件名称

getParent() 返回文件父目录路径

getPath() 返回文件路径字符串

getParentFile() 返回文件所在文件夹的路径

hashCode() 返回文件哈希码

isDirectory() 判断该路径指示的是否是目录

isFile() 判断该路径指示的是否是文件

lastModified() 返回该文件最后更改时间标志

length() 返回文件长度

list() 返回文件和目录清单

mkdir() 生成指定的目录

renameTo(File dest) 更改文件名字

setReadOnly() 将文件设置为可读

toString() 返回文件状态的字符串

toURL() 将文件的路径字符串转换成URL


推荐阅读
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
  • Java中不同类型的常量池(字符串常量池、Class常量池和运行时常量池)的对比与关联分析
    在研究Java虚拟机的过程中,笔者发现存在多种类型的常量池,包括字符串常量池、Class常量池和运行时常量池。通过查阅CSDN、博客园等相关资料,对这些常量池的特性、用途及其相互关系进行了详细探讨。本文将深入分析这三种常量池的差异与联系,帮助读者更好地理解Java虚拟机的内部机制。 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • Java能否直接通过HTTP将字节流绕过HEAP写入SD卡? ... [详细]
  • 在处理木偶评估函数时,我发现可以顺利传递本机对象(如字符串、列表和数字),但每当尝试将JSHandle或ElementHandle作为参数传递时,函数会拒绝接受这些对象。这可能是由于这些句柄对象的特殊性质导致的,建议在使用时进行适当的转换或封装,以确保函数能够正确处理。 ... [详细]
  • 在本文中,我们将为 HelloWorld 项目添加视图组件,以确保控制器返回的视图路径能够正确映射到指定页面。这一步骤将为后续的测试和开发奠定基础。首先,我们将介绍如何配置视图解析器,以便 SpringMVC 能够识别并渲染相应的视图文件。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • Java解析YAML文件并转换为JSON格式(支持JSON与XML的结构化查询)
    本文探讨了如何利用Java解析YAML文件并将其转换为JSON格式,同时支持JSON和XML的结构化查询。YAML、JSON和XML这三种数据格式通过其名称作为文件扩展名,便于区分和使用。文章详细介绍了这些格式的层次结构和数据表示方法,并重点讨论了在数据传输过程中,XML的特性和优势。此外,还提供了具体的代码示例和实现步骤,帮助开发者高效地进行数据格式转换和查询操作。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
author-avatar
执爱马嘟嘟_539
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有