java中文件处理之图片_在Java 7中处理文件
java中文件处理之图片
- 创造
- 删除
- 复制
- 移动/重命名
提示关于Path的快速注释。 这篇文章假定您已经对新的Java 7 Path类有所了解,如果不熟悉的话,这里有个快速介绍! 路径是文件系统上位置的逻辑抽象,例如, “ c:\” 是 路径 ,“ ../ foobar.txt”一样
让我们从文件的创建和删除开始。
创建和删除文件
通过使用Files类中的简单帮助程序方法,您还可以创建文件并轻松删除它们。
提示如果要运行本节中的代码段,请用与文件系统匹配的实际路径替换实际路径!
以下代码段显示了使用Files.createFile(Path target)方法的基本文件创建。
Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Path file = Files.createFile(target);
通常,您出于安全目的以及为了读取和/或写入和/或执行是否知道正在创建文件而想要在该文件上指定一些文件属性。 由于这取决于文件系统,因此您需要利用特定于文件系统的文件权限类及其帮助程序。
例如,用于POSIX兼容文件系统的PosixFilePermission和PosixFilePermissions 。 设置POSIX文件系统中的owner-group-all的读写示例如下。
Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Set<PosixFilePermission> perms
= PosixFilePermissions.fromString("rw-rw-rw-");
FileAttribute<Set<PosixFilePermission>> attr
= PosixFilePermissions.asFileAttribute(perms);
Files.createFile(target, attr);
java.nio.file.attribute包包含提供的FilePermission类的列表。 在The Well-Grounded Java Developer的第2章中还进一步详细介绍了文件属性支持。
警告创建具有特定权限的文件时,请注意该文件的父目录正在执行的所有umask限制或限制性权限。 例如,您可能会发现,即使为新文件指定了rw-rw-rw ,由于这些限制,它实际上也被创建为rw-r–r– 。
删除文件要简单一些,可以通过简单的Files.delete(Path)方法执行。
Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Files.delete(target);
接下来快速概述在文件系统中复制和移动文件。
复制和移动文件
通过使用Files类中的简单辅助方法,您可以轻松执行复制和移动操作。 下面的代码片段使用Files.copy(Path source,Path target)方法展示了一个基本副本。
Path source = Paths.get("C:\\My Documents\\Stuff.txt");
Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Files.copy(source, target);
通常,您想在复制操作中指定一些选项。 在Java 7中,可以使用StandardCopyOption枚举来指定这些选项。 下一个示例使用覆盖(即替换现有)选项。
import static java.nio.file.StandardCopyOption.*;Path source = Paths.get("C:\\My Documents\\Stuff.txt");
Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Files.copy(source, target, REPLACE_EXISTING);
其他复制选项包括COPY_ATTRIBUTES (复制文件属性)和ATOMIC_MOVE (确保移动操作的两面都成功或该操作被回滚)。移动操作与复制操作非常相似,并使用原子文件执行。 move(Path source,Path target)方法。
再次,您通常希望此移动带有一些复制选项,因此可以使用Files.move(Path source,Path target,CopyOptions ...)方法(请注意varargs的使用)。
在这种情况下,我们希望在移动源文件时保留其属性,并覆盖目标文件(如果存在)。
import static java.nio.file.StandardCopyOption.*;Path source = Paths.get("C:\\My Documents\\Stuff.txt");
Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Files.move(source, target, REPLACE_EXISTING, COPY_ATTRIBUTES);
如您所见,新的用于文件操作的NIO.2 API易于使用,我们希望您喜欢这个小尝尝!
编码愉快! 不要忘记分享!
参考文献:
- 在Java 7开发者博客上从我们的JCG合作伙伴处以Java 7 操作文件
- 经验丰富的Java开发人员
相关文章:
- JDK中的设计模式
- Java内存模型-快速概述和注意事项
- Java Fork / Join进行并行编程
- 依赖注入–手动方式
- 了解和扩展Java ClassLoader
翻译自: https://www.javacodegeeks.com/2011/09/manipulating-files-in-java-7.html
java中文件处理之图片
java中文件处理之图片_在Java 7中处理文件相关推荐
- java中把gui插入图片_在java中使用图片实现gui的美化.pdf
在java中使用图片实现gui的美化.pdf 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 图形图像处理GRAPHICS AND IMAGE ...
- java 向 mysql数据库存储图片_基于java向mysql数据库中存取图片
import java.io.*; import java.sql.*; import java.sql.DriverManager; import java.sql.ResultSet; impor ...
- 转jpg java源程序_将pdf文件转成图片并删除java源代码
将pdf文件转成图片并删除java源代码/** * 将pdf转成img */ public static void changePdfToImg() { try { File file = new F ...
- xml文件转换成图片_如何把pdf文件转换成图片?
pdf文件怎么转成JPG图片呢?相信有不少人在迷惑,可能还在想着截图等操作来完成转换,但如果是截图成JPG图片后的效果可能很差,并没有之前pdf文件那么清楚.那这样往往打印出来的效果也不怎么理想,那怎 ...
- python将一个文件夹下图片按比例分在两个文件夹下
#!/usr/bin/env python # -*- coding:utf-8 -*- # 将一个文件夹下图片按比例分在两个文件夹下,比例改0.7这个值即可 import os import ran ...
- java 读取excel 图片_利用Java+POI 读写Excel文档向Excel中插入图片
一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...
- java中怎么下载图片不显示图片_关于Java/Kotlin下载图片,图片打开不能显示问题探究...
图片下载其实是个很简单的功能,通过IO流从在线地址获取流,之后将流输出到文件即可完成下载功能,但是,最近我发现某个网站中的图片下载成功,但是打开却是无法打开,这让我迷惑,百度上根本就没有人说清楚 今天 ...
- java中为按钮添加图片_我们可以在Java接口中为成员定义私有和受保护的修饰符吗?...
java中为按钮添加图片 No, it is not possible to define private and protected modifiers for the members in int ...
- java中为按钮添加图片_如何在Java中为字符串添加双引号?
java中为按钮添加图片 In Java, everything written in double-quotes is considered a string and the text writte ...
最新文章
- 如何在.NET中创建服务型组件
- Google排名第一的技术,引数十万人关注!网友:差点我就放弃了!
- 轻松学Pytorch-使用卷积神经网络实现图像分类
- Java避免创建不必要的对象
- 在python中、下列代码的输出是什么-Python 面试中 8 个必考问题
- 检测到USB设备插入写法1
- 国家电网和南方电网还傻傻分不清?
- 详解各类以太网标准10BASE-T/100BASE-T4/100BASE-FX/1000BASE-X等
- 大盘点: KubeCon EU 2019 应用管理领域的新看点!
- 计算机编程嘉兴,嘉兴自学电脑编程一对一
- Choerodon 的微服务之路(二):Choerodon 的微服务网关
- linux shell脚本中 if 条件判断
- linux关闭邮件提示错误,LINUX命令关闭 You have mail in /var/spool/mail/root邮件提醒功能...
- 产品经理基本功之PRD
- 高德地图根据经纬度生成位置定位图片(发送位置)
- java 如何将word 转换为ftl_使用FreeMarker导出word文档(支持导出图片)
- 大三上期末复习(网络安全物联网概论安全协议软件工程)
- unisoc常用命令集
- python中geometry_python arcgis Geometry
- 2018美团CodeM 题解
热门文章
- 刚刚,改造了下BaseDao……
- Redis(案例六:ZSet数据)
- JAVA---DOS命令学习
- bean交个spring和new比较区别
- python 列表生成表格_【转】Python 列表生成式
- http长/短轮询和WebSocket 的介绍和比较
- java 字符数组与字符串_用于字符串和数组的5种简单有效的Java技术
- lambda层保存模型出错_保存您的lambda,以备不时之需-保存到文件
- 普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪
- java中线程死锁及避免_如何避免Java线程中的死锁?