java的file类笔记(java的file类的常用操作)

本文目录一览:

java file类

你的文件夹a下面有两个文件夹,一个是什么看不清,一个是新建文件夹,

File[] files =file.listFiles();

for (File temp : files) {

//递归调用

printFile(temp, level+1);

}

files = {“不知什么文件夹”,“新建文件夹”}

第一个文件夹循环结束当然在递归你的新建文件夹了

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类

out.println(path + “\File.txt”+”已完成删除”);

这句换成

out.println(path + “/File.txt”+”已完成删除”);

试试

java 种的File类是用来做什么的?有什么用处?(追加40分)

File类是用来操作文件及目录(文件夹)的,你可以抛开别的,只是想想,

能对文件及目录干什么?无非就是创建文件或目录,删除、修改文件的内容等简单操作。再就是通过遍历文件做某些操作。File类就是干这些的。你再依据以下小程序理解下File类的操作就觉得简单了。

File

f

=

new

File(“d://123.txt”);//你可以把它理解为告诉File类要操作的路径,但是还没让它操作。

f.createNewFile()

;//创建文件,如果创建成功返回true

f.delete()

;//删除文件,如果删除成功返回true

。。。

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

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/180331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-22 05:12
下一篇 2024-11-22 05:12

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29

发表回复

登录后才能评论