「javafile操作」java file方法

博主:adminadmin 2022-11-23 10:06:07 112

本篇文章给大家谈谈javafile操作,以及java file方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java File的操作,复制文件夹的方法!

你写的两个程序都不太严谨,我给你写一个复制文件和复制文件夹的标准例子吧。

//复制文件

package com.cdd.file;

import java.io.*;

public class FileText {

public static void main(String[] args) {

String sfpath = "E://word.txt"; // 指定文件地址

String dfpath = "F://word.txt";

File sFile = new File(sfpath); // 创建文件对象

File dFile = new File(dfpath);

try {

dFile.createNewFile(); // 新建文件

FileInputStream fis = new FileInputStream(sFile);

FileOutputStream fout = new FileOutputStream(dFile);

byte[] date = new byte[512]; // 创建字节数组

int rs = -1;

while ((rs = fis.read(date)) 0) { // 循环读取文件

fout.write(date, 0, rs); // 向文件写数据

}

fout.close();

fis.close(); // 关闭流

System.out.println("文件复制成功");

} catch (Exception e) {

e.printStackTrace();

}

}

}

//复制文件夹

package com.cdd.util;

import java.io.*;

public class FileUtil {

private static void copy(File[] files, File d) {

if (!d.exists()) //如果指定目录不存在

d.mkdir(); //创建目录

for (int i = 0; i files.length; i++) { //循环遍历要复制的文件夹

if (files[i].isFile()) { //如果文件夹中是文件

try {

FileInputStream fis = new FileInputStream(files[i]); //创建FileInputStream对象

FileOutputStream out = new FileOutputStream(new File(d

.getPath()

+ File.separator + files[i].getName())); //复制后文件的保存路径

int count = fis.available();

byte[] data = new byte[count];

if ((fis.read(data)) != -1) { //读取文件

out.write(data); //将读取的信息写入文件中

}

out.close(); //关闭流

fis.close();

} catch (Exception e) {

e.printStackTrace();

}

}

if (files[i].isDirectory()) { //如果文件夹中是一个路径

File des = new File(d.getPath() + File.separator

+ files[i].getName()); //在复制后路径中创建子文件夹

des.mkdir();

copy(files[i].listFiles(), des); //再次调用本方法

}

}

System.out.println("文件夹复制成功");

}

public static void main(String[] args) {

File sourFile = null, desFile = null;

String sourFolder = "E://word"; //指定要进行复制的文件夹

String desFolder = "E://copy"; //指定复制后的文件夹地址

sourFile = new File(sourFolder);

if (!sourFile.isDirectory() || !sourFile.exists()) { //如果原文件夹不存在

System.out.println("原文件夹不存在");

}

desFile = new File(desFolder);

desFile.mkdir();

copy(sourFile.listFiles(), desFile); //调用文件夹复制方法

}

}

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

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

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

File

f

=

new

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

f.createNewFile()

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

f.delete()

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

。。。

java为什么要设计File和流的概念?

两个操作不一样。

File是对文件操作。比如说,创建文件,复制文件,删除文件,判断文件是否存在等等。或者说这个操作的对象是文件整体。

文件流是对文件内容的操作。比如说,读取文件内容,写入文件内容等等。

为什么Java中的file类无法只能操作不能读写?

说下我的理解,通常意思下,我们理解的文件,其实包含两部分,一部分是指保存在磁盘上的文件的具体内容,另一部分指的是保存在操作系统文件系统里面的文件名称,目录那些东西。(这里你可以去搜索下 linux inode 理解相关的概念,这里我也不是很熟)。

文件系统是操作系统封装磁盘操作产生的一层东西,我们只能通过操作系统提供的文件系统的API去操作磁盘。(这里可以去学习下操作系统相关的知识)。

java中的FIle指的是 文件系统里面的一个file,这个对象,只包含文件的一些元数据,文件大小,位置,创建时间,修改时间,创建人,权限等等一系列的文件元数据,它是不包含文件具体的内容的。所以你只能操作它,不能读写。所谓的操作,也就是对文件系统 那一棵文件目录树 进行增删改查的操作。

file这个对象里,应该包含这个文件在磁盘上的具体位置,通过这个位置,你就可以通过文件系统的API进行文件的读写了。(这里,我的理解是这样,具体是不是这样,我也不确定,可以去搜索 posix标准 查看通用的一些文件操作的API 来验证下)。

而对文件具体内容的操作,你必须通过IO操作去实现。这里过程大概如下,涉及操作系统跟驱动相关的过程,去百度吧,我也不是很熟。

javafile操作的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java file方法、javafile操作的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。