java中file,java中FileWriter

本文目录一览:

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

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

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

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

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

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

java中 File file=new File(“.”)是什么意思?

1仅加一个点,表示当前目录。

2补充几点:Java中的File类的作用就是一个文件或目录的抽象表示,当然这里是表示目录的,可以进一步用exists()和isDirectory()方法判断。

3.举例代码:

public class TestDemo {

public static void main(String[] args) throws Exception {

File file = new File(“.”);

// 参数”.”点表示当前路径

// new File(“.”) 表示用当前路径 生成一个File实例,!!!并不是表达创建一个 . 文件

String path = file.getCanonicalPath();

System.out.println(path);

//输出file代表的路径

File file2 = new File(“bcde.txt”);

boolean b = file2.createNewFile();//这才是创建一个名为bcde.txt的文件 windows不支持文件名为一个点”.”

if(b){

System.out.println(“在当前路径”+path+”下创建文件bcde.txt成功”);

}else{

//如bcde.txt已经存在,再次创建就会失败,

System.out.println(“在当前路径”+path+”下创建文件bcde.txt失败”);

}

}

}

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

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

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

File

f

=

new

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

f.createNewFile()

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

f.delete()

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

。。。

java中File类常用的方法有哪些?

给你一个中文的吧。你不想看英文的API;File类是直接继承Object类的。Object类的方法我就不不写了:\x0d\x0a字段摘要\x0d\x0astaticStringpathSeparator\x0d\x0a与系统有关的路径分隔符,为了方便,它被表示为一个字符串。\x0d\x0astaticcharpathSeparatorChar\x0d\x0a与系统有关的路径分隔符。\x0d\x0astaticStringseparator\x0d\x0a与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。\x0d\x0astaticcharseparatorChar\x0d\x0a与系统有关的默认名称分隔符。\x0d\x0a构造方法摘要\x0d\x0aFile(Fileparent,Stringchild)\x0d\x0a根据parent抽象路径名和child路径名字符串创建一个新File实例。\x0d\x0aFile(Stringpathname)\x0d\x0a通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。\x0d\x0aFile(Stringparent,Stringchild)\x0d\x0a根据parent路径名字符串和child路径名字符串创建一个新File实例。\x0d\x0aFile(URIuri)\x0d\x0a通过将给定的file:URI转换为一个抽象路径名来创建一个新的File实例。\x0d\x0a方法摘要\x0d\x0abooleancanExecute()\x0d\x0a测试应用程序是否可以执行此抽象路径名表示的文件。\x0d\x0abooleancanRead()\x0d\x0a测试应用程序是否可以读取此抽象路径名表示的文件。\x0d\x0abooleancanWrite()\x0d\x0a测试应用程序是否可以修改此抽象路径名表示的文件。\x0d\x0aintcompareTo(Filepathname)\x0d\x0a按字母顺序比较两个抽象路径名。\x0d\x0abooleancreateNewFile()\x0d\x0a当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。\x0d\x0astaticFilecreateTempFile(Stringprefix,Stringsuffix)\x0d\x0a在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。\x0d\x0astaticFilecreateTempFile(Stringprefix,Stringsuffix,Filedirectory)\x0d\x0a在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。\x0d\x0abooleandelete()\x0d\x0a删除此抽象路径名表示的文件或目录。\x0d\x0avoiddeleteOnExit()\x0d\x0a在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。\x0d\x0abooleanequals(Objectobj)\x0d\x0a测试此抽象路径名与给定对象是否相等。\x0d\x0abooleanexists()\x0d\x0a测试此抽象路径名表示的文件或目录是否存在。\x0d\x0aFilegetAbsoluteFile()\x0d\x0a返回此抽象路径名的绝对路径名形式。\x0d\x0aStringgetAbsolutePath()\x0d\x0a返回此抽象路径名的绝对路径名字符串。\x0d\x0aFilegetCanonicalFile()\x0d\x0a返回此抽象路径名的规范形式。\x0d\x0aStringgetCanonicalPath()\x0d\x0a返回此抽象路径名的规范路径名字符串。\x0d\x0alonggetFreeSpace()\x0d\x0a返回此抽象路径名指定的分区中未分配的字节数。\x0d\x0aStringgetName()\x0d\x0a返回由此抽象路径名表示的文件或目录的名称。\x0d\x0aStringgetParent()\x0d\x0a返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。\x0d\x0aFilegetParentFile()\x0d\x0a返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回null。\x0d\x0aStringgetPath()\x0d\x0a将此抽象路径名转换为一个路径名字符串。\x0d\x0alonggetTotalSpace()\x0d\x0a返回此抽象路径名指定的分区大小。\x0d\x0alonggetUsableSpace()\x0d\x0a返回此抽象路径名指定的分区上可用于此虚拟机的字节数。\x0d\x0ainthashCode()\x0d\x0a计算此抽象路径名的哈希码。\x0d\x0abooleanisAbsolute()\x0d\x0a测试此抽象路径名是否为绝对路径名。\x0d\x0abooleanisDirectory()\x0d\x0a测试此抽象路径名表示的文件是否是一个目录。\x0d\x0abooleanisFile()\x0d\x0a测试此抽象路径名表示的文件是否是一个标准文件。\x0d\x0abooleanisHidden()\x0d\x0a测试此抽象路径名指定的文件是否是一个隐藏文件。\x0d\x0alonglastModified()\x0d\x0a返回此抽象路径名表示的文件最后一次被修改的时间。\x0d\x0alonglength()\x0d\x0a返回由此抽象路径名表示的文件的长度。\x0d\x0aString[]list()\x0d\x0a返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。\x0d\x0aString[]list(FilenameFilterfilter)\x0d\x0a返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。\x0d\x0aFile[]listFiles()\x0d\x0a返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。\x0d\x0aFile[]listFiles(FileFilterfilter)\x0d\x0a返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。\x0d\x0aFile[]listFiles(FilenameFilterfilter)\x0d\x0a返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。\x0d\x0astaticFile[]listRoots()\x0d\x0a列出可用的文件系统根。\x0d\x0abooleanmkdir()\x0d\x0a创建此抽象路径名指定的目录。\x0d\x0abooleanmkdirs()\x0d\x0a创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。\x0d\x0abooleanrenameTo(Filedest)\x0d\x0a重新命名此抽象路径名表示的文件。\x0d\x0abooleansetExecutable(booleanexecutable)\x0d\x0a设置此抽象路径名所有者执行权限的一个便捷方法。\x0d\x0abooleansetExecutable(booleanexecutable,booleanownerOnly)\x0d\x0a设置此抽象路径名的所有者或所有用户的执行权限。\x0d\x0abooleansetLastModified(longtime)\x0d\x0a设置此抽象路径名指定的文件或目录的最后一次修改时间。\x0d\x0abooleansetReadable(booleanreadable)\x0d\x0a设置此抽象路径名所有者读权限的一个便捷方法。\x0d\x0abooleansetReadable(booleanreadable,booleanownerOnly)\x0d\x0a设置此抽象路径名的所有者或所有用户的读权限。\x0d\x0abooleansetReadOnly()\x0d\x0a标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。\x0d\x0abooleansetWritable(booleanwritable)\x0d\x0a设置此抽象路径名所有者写权限的一个便捷方法。\x0d\x0abooleansetWritable(booleanwritable,booleanownerOnly)\x0d\x0a设置此抽象路径名的所有者或所有用户的写权限。\x0d\x0aStringtoString()\x0d\x0a返回此抽象路径名的路径名字符串。\x0d\x0aURItoURI()\x0d\x0a构造一个表示此抽象路径名的file:URI。\x0d\x0aURLtoURL()\x0d\x0a已过时。此方法不会自动转义URL中的非法字符。建议新的代码使用以下方式将抽象路径名转换为URL:首先通过toURI方法将其转换为URI,然后通过URI.toURL方法将URI装换为URL。

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

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

相关推荐

  • Java JsonPath 效率优化指南

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

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

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

    编程 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
  • Java 8中某一周的周一

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

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

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

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

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

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论