当前位置: 首页 > news >正文

企业站快递网站建设

企业站,快递网站建设,山西省建设厅网站官网,icp备案管理系统官网如今#xff0c;大量的应用程序创建文件或目录的目的非常广泛。 无论是生成报告#xff0c;导出配置文件还是仅存储一些数据#xff0c;能够处理这些任务都非常重要。 创建文件和目录是使用文件系统时最常用的功能之一。 图书馆的这一部分进行了相当现代化。 这方面的更新包… 如今大量的应用程序创建文件或目录的目的非常广泛。 无论是生成报告导出配置文件还是仅存储一些数据能够处理这些任务都非常重要。 创建文件和目录是使用文件系统时最常用的功能之一。 图书馆的这一部分进行了相当现代化。 这方面的更新包括保证某些操作的原子性使用预设文件属性创建文件和目录性能优化以及引入异常层次结构这些层次结构取代了IO库先前版本中的boolean返回方法。 检查方法 在深入探讨任何代码或解释之前让我退后一步集中讨论一些不仅对本帖子至关重要而且对以后的帖子也很重要的事情。 我发现熟悉一些通常称为检查方法的方法很重要。 检查方法包括所有用于在调用实际文件系统操作代码之前执行各种检查的方法。 为了方便起见它们都在类java.nio.file.Files 。 使用这些方法将帮助您防止应用程序发生意外行为。 由于这些方法非常简单因此我将跳过专用于它们的示例而在以后的示例中使用它们。 检查方法 方法名称 描述 exists(Path path, LinkOption... options) 测试文件是否存在。 isExecutable(Path path) 测试文件是否可执行。 isHidden(Path path) 告诉文件是否被视为隐藏文件。 isReadable(Path path) 测试文件是否可读。 isRegularFile(Path path, LinkOption... options) 测试文件是否是具有不透明内容的常规文件。 isSameFile(Path path, Path path2) 测试两个路径是否找到同一文件。 isWritable(Path path) 测试文件是否可写。 notExists(Path path, LinkOption... options) 测试通过此路径定位的文件是否不存在。 创建一个新目录 类Files的最重要用途之一是使用createDirectory方法创建新目录。 目录创建是非常简单和直接的过程因此无需太多解释。 像往常一样它总是使用检查方法是个好主意exists的类Files 以确保它可以创建与给定路径的目录同时防止FileAlreadyExistsException 。 下列代码段展示了整个情况 Path newDirectoryPath Paths.get(/home/jstas/directory);if (!Files.exists(newDirectoryPath)) {try {Files.createDirectory(newDirectoryPath);} catch (IOException e) {System.err.println(e);} } 该代码示例非常简单–在没有其他文件系统条目驻留在提供的路径上的情况下它使用提供的路径创建目录。 如果需要创建整个目录层次结构则需要切换到createDirectories方法该方法的行为类似并创建由路径实例定义的整个层次结构。 由于目录是文件的一种因此我们可以设置其自己的元数据 文件属性 。 我们不仅能够做到这一点甚至可以预先创建元数据定义并在原子操作中创建具有初始文件属性的目录以防止沿途出现任何不一致之处。 如前一篇文章所述管理文件系统权限有两种受支持的标准POSIX和ACL。 POSIX文件权限 首先让我们看一下如何在与POSIX兼容的系统如基于Linux的系统和Mac OS上管理文件系统权限。 由于POSIX文件权限非常容易理解库创建者为我们提供了便捷的工具例如从字符串表示形式直接转换为一组PosixFilePermission或将其转换为FileAttribute对象的转换工具。 这不是创建FileAttribute对象的唯一方法我们将在下一章中看到。 回到前面的示例让我们看下面的代码。 使用PosixFilePermissions类的便捷方法fromString 我们可以创建一组PosixFilePermission 。 现在需要创建FileAttribute实例该实例将传递给createDirectory测试目录的createDirectory方法。 让我们看下面的代码片段 Path newDirectoryPath Paths.get(/home/jstas/testPosix);if (!Files.exists(newDirectoryPath)) {SetPosixFilePermission permissions PosixFilePermissions.fromString(r-xr-----);FileAttributeSetPosixFilePermission fileAttributes PosixFilePermissions.asFileAttribute(permissions);try {Files.createDirectory(newDirectoryPath, fileAttributes);} catch (IOException e) {System.err.println(e);} } 很容易验证我们的权限设置是否正确。 您可以直接从Java代码读取文件属性如我在文件属性文章中介绍的那样也可以手动执行。 我使用系统终端通过以下输出检查它们 dr-xr-----. 2 jstas jstas 4096 Jan 5 13:34 testPosixACL文件权限 在ACL兼容系统例如WindowsNT2000XP和更高版本上管理文件系统权限时事情变得有些复杂。 ACL列表会变得非常复杂和健壮因此这里没有POSIX文件权限之类的快捷方式。 此处的关键是使用基于接口FileAttribute的匿名类定义。 该接口仅定义两种方法 name返回文件属性的名称 value返回此属性的值。 使用ACL时我们感兴趣的属性名称为aclacl 。 value方法仅返回构造的ACL条目的列表。 让我们看一下ACL条目内隐藏的内容以及如何创建AclEntry实例。 首先ACL条目包含几个对象 标志 标志组件是一组标志用于指示条目如何被继承和传播 权限 权限组件是一组权限 类型 类型组件确定该条目是授予还是拒绝访问。 主要 主体组件有时称为“谁”组件是与条目授予或拒绝访问的身份相对应的UserPrincipal 考虑到单个ACL条目的复杂性NIO.2库的创建者看到了一个非常合适的实现构建器模式的候选人。 请访问以下页面以获取有关设计模式和构建器模式的更多信息。 因此实现选择适当的标志和权限将其与用户主体绑定并设置条目的类型。 请研究以下代码片段以熟悉ACL权限 Path newDirectoryPath Paths.get(c:, testACL);if (!Files.exists(newDirectoryPath)) {FileAttributeListAclEntry fileAttributes new FileAttributeListAclEntry() {Overridepublic ListAclEntry value() {// lookup user principalFileSystem fileSystem FileSystems.getDefault();UserPrincipalLookupService userPrincipalLookupService fileSystem.getUserPrincipalLookupService();UserPrincipal userPrincipal null;try {userPrincipal userPrincipalLookupService.lookupPrincipalByName(JStas);} catch (IOException e) {throw new RuntimeException(e);}// select ACL flagsSetAclEntryFlag flags EnumSet.of(AclEntryFlag.FILE_INHERIT, AclEntryFlag.DIRECTORY_INHERIT);// select ACL permissionSetAclEntryPermission permissions EnumSet.of(AclEntryPermission.READ_DATA, AclEntryPermission.WRITE_DATA, AclEntryPermission.EXECUTE);// build ACL entryBuilder builder AclEntry.newBuilder();builder.setFlags(flags);builder.setPermissions(permissions);builder.setPrincipal(userPrincipal);builder.setType(AclEntryType.DENY);AclEntry entry builder.build();ListAclEntry aclEntryList new ArrayList();aclEntryList.add(entry);return aclEntryList;}Overridepublic String name() {return acl:acl;}};try {Files.createDirectory(newDirectoryPath, fileAttributes);} catch (IOException e) {System.err.println(e);} } 要验证在Windows 7中成功创建目录及其文件属性请在给定文件夹的属性中选择“安全性”选项卡然后单击“高级”。 您新创建的条目应在呈现的表中列出并具有类似于此条目的详细信息视图 ACL条目示例Windows 7 创建一个新文件 任何与文件系统相关的代码的核心部分通常都包含创建单个或多个文件的代码。 要创建文件我们需要再次使用Files类并调用createFile方法。 就像目录一样可以使用初始文件属性创建文件并且应用相同的限制。 话虽如此我将不演示文件属性的工作因为它与目录示例中的相同。 再一次这是一个非常简单的方法没有什么用处因此下面的示例将介绍所有内容 Path newFilePath Paths.get(C:, a.txt);if (!Files.exists(newFilePath)) {try {Files.createFile(newFilePath);} catch (IOException e) {System.err.println(e);} } 请注意 exists检查方法可以防止FileAlreadyExistsException 。 翻译自: https://www.javacodegeeks.com/2014/06/creating-files-and-directories-in-nio-2.html
http://www.zqtcl.cn/news/499158/

相关文章:

  • 京东云服务器怎么做网站企业宣传网站怎么做
  • 如何自学网站建设云南网爱我国防知识竞赛
  • 什么网站可以做投资设计接单
  • 网站内容批量替换桐乡网站制作
  • 怎么免费做网站教程制作xml网站地图文件
  • 广西智能网站建设哪家好网红商城
  • 关于建设网站的情况说明书wordpress 在线检测
  • 帝国cms 网站迁移错版怎样做心理咨询网站
  • 烟台建网站wordpress重写规则
  • 上海网站建设怎么赚钱平顶山网站建设服务公司
  • 导航网站如何被百度收录广告设计在线设计
  • 雪域什么网站是做电影的苏州优化方式
  • 设计网站多少钱手机百度助手
  • 驾校网上约车网站开发不会做网站如何做seo
  • 企业做推广可以发哪些网站宜兴埠网站建设
  • 网站后台文章添加成功 不显示公司设计网站建设合同
  • 后端开发需要掌握哪些知识潍坊优化公司
  • 专业手机网站制作哪家好wordpress wp-polls
  • 网站建设前分析网页制作素材按钮
  • 做视频网站怎么对接云盘松江新城网站建设
  • 温州阿里巴巴网站建设企业宣传片怎么拍
  • 淮阳住房城乡建设局网站阿里巴巴做国际网站要多少钱
  • 电子商务个人网站可以备案吗短网址还原
  • 网站内容由什么组成部分组成部分电子商务网站建设主管的策划书
  • 云服务器安装win系统做网站seo三人行论坛
  • 电气网站设计机械设计软件solidworks
  • 内网网站建设所需硬件设备厦门关键词排名提升
  • 网站动态海报效果怎么做的最专业网站建
  • 学校如何建设网站北京市住房及城乡建设部网站
  • 响应式网站制作流程全国城建培训中心官网查询证书