java用i/o查看文件_Java文件I / O基础

java用i/o查看文件

Java 7引入了java.nio.file包,以提供对文件I / O的全面支持。 除了许多其他功能之外,该软件包还包括Files类(如果您已经使用此类,则可以在这里停止阅读)。
文件包含许多静态方法,可在处理文件时用于完成常见任务。 不幸的是,在我看来,仍然使用旧的(Java 7之前的)文件处理方式来编写许多更新的(Java 7+)代码。 这不一定是坏事,但是它会使事情变得比所需的更为复杂。 造成这种情况的可能原因可能是在Java 7发行之前写了许多文章和获得很高评价的Stackoverflow答案。



在本文的其余部分中,我将提供一些代码示例,这些示例说明如何使用Java 7或更高版本完成与文件相关的常见任务。

处理文件

// Create directories
// This will create the "bar" directory in "/foo"
// If "/foo" does not exist, it will be created first
Files.createDirectories(Paths.get("/foo/bar"));// Copy a file
// This copies the file "/foo/bar.txt" to "/foo/baz.txt"
Files.copy(Paths.get("/foo/bar.txt"), Paths.get("/foo/baz.txt"));// Move a file
// This moves the file "/foo/bar.txt" to "/foo/baz.txt"
Files.move(Paths.get("/foo/bar.txt"), Paths.get("/foo/baz.txt"));// Delete a file
Files.delete(Paths.get("/foo/bar.txt"));// Delete a file but do not fail if the file does not exist
Files.deleteIfExists(Paths.get("/foo/bar.txt"));// Check if a file exists
boolean exists = Files.exists(Paths.get("/foo/bar.txt"));

File的大多数方法都采用一个或多个Path类型的参数。 路径实例代表文件或目录的路径,可以使用Paths.get()获得。 请注意,此处显示的大多数方法还具有一个附加的varargs参数,可用于传递其他选项。

例如:

Files.copy(Paths.get("/foo.txt"), Paths.get("/bar.txt"), StandardCopyOption.REPLACE_EXISTING);

遍历目录中的所有文件

Files.walkFileTree(Paths.get("/foo"), new SimpleFileVisitor<Path>() {@Overridepublic FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {System.out.println("file: " + file);return FileVisitResult.CONTINUE;}
});

在这里,/ foo目录中的每个文件都会调用visitFile()方法。 如果您也想跟踪目录,则可以覆盖SimpleFileVisitor的其他方法。

写入和读取文件

// Write lines to file
List<String> lines = Arrays.asList("first", "second", "third");
Files.write(Paths.get("/foo/bar.txt"), lines, Charset.forName("UTF-8"));// Read lines
List<String> lines = Files.readAllLines(Paths.get("/foo/bar.txt"), Charset.forName("UTF-8"));

所示方法适用于字符。 如果需要使用字节,则可以使用类似的方法。

结论

如果您不了解java.nio.file.Files,那么您绝对应该看看Javadoc方法摘要。 里面有很多有用的东西。

翻译自: https://www.javacodegeeks.com/2014/05/java-file-io-basics.html

java用i/o查看文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCM复用设备和PDH设备的区别介绍

首先PCM设备和PDH设备是完全不同的两者设备。PCM是综合业务接入设备&#xff0c;PDH设备是光传输设备。接下来就由飞畅科技的小编来为大家详细介绍下PCM复用设备和PDH设备的区别&#xff0c;一起来看看吧&#xff01; 数字信号是对连续变化的模拟信号进行抽样、量化和编码产生…

定义资源

在Fielding的论文中 &#xff0c;资源被描述为&#xff1a; “可以命名的任何信息”……“文档或图像&#xff0c;临时服务&#xff08;例如&#xff0c;“洛杉矶今天的天气”&#xff09;&#xff0c;其他资源的集合&#xff0c;非虚拟对象&#xff08;例如&#xff0c;人&am…

E1 PCM复用设备能当程控交换机用吗?

E1 PCM复用设备能当程控交换机用吗&#xff1f;这个问题在平时与用户沟通中发现&#xff0c;发现有不少用户认为E1 PCM复用设备可以当程控交换机使用&#xff0c;不仅能实现电话线远端延伸&#xff0c;还可以实现电话机交换功能。 其实这个观点是错误的&#xff0c;E1 PCM复用…

PCM设备能在公网使用吗?

正如标题所言&#xff0c;PCM设备能否在公网使用吗&#xff1f;首先我们可以了解一下公网的概念。“公网”也可以理解为“外网”&#xff0c;就是指公共的网络&#xff0c;用户可以使用这个网络相互访问对方。 其实&#xff0c;笔者认为“PCM能在公网使用”或“PCM不能在公网使…

日月神话_常见的Java神话

日月神话这些问题在任何面试中都可能太过高级而无法提出&#xff0c;因为它们可能会使候选人推迟。 不管怎样&#xff0c;他们可能会在您自己的时间练习。 误解1&#xff09;System.exit&#xff08;0&#xff09;阻止最终被调用 为什么这样的代码 System.setSecurityManager…

PCM设备是做什么的? PCM作用是什么?

PCM可以提供用户从2M到155M速率的数字数据专线业务&#xff0c;也可以提供话音、图象传送、远程教学等其他业务。那么&#xff0c;PCM设备是做什么的? PCM作用是什么&#xff1f;接下来我们就跟随飞畅科技的小编一起来看看吧&#xff01; PCM的含义&#xff1a; 1、PCM&…

Iceberg:浅析基于Snapshot的事务过程

MVCC事务&#xff08;乐观锁&#xff09; 我们知道&#xff0c;Iceberg基于Snapshot&#xff08;快照机制&#xff09;实现了乐观无锁地数据并发读写能力&#xff08;MVCC&#xff0c;Multi Versions Concurrency Controll&#xff09;&#xff0c;默认提供了快照级别的事务隔…

关于“最终”的最终决定

在Java中&#xff0c;过度使用final感觉就像是SHOUTING。 在很多时候它已经过时且不合适。 Java和JavaScript 这主要是关于Java中的final关键字&#xff0c;但是我对JavaScript中与之对应的const看法略有变化。 我可以认为const是一件好事&#xff0c;而final是一件坏事&#…

PCM设备在电网系统中的应用介绍

近年来&#xff0c;随着我国社会经济的快速发展和电力通信行业的不断进步&#xff0c;通信网络技术和网络系统不断完善和改进的同时&#xff0c;网络系统运行过程中也出现了很多的问题&#xff0c;要对其进行优化&#xff0c;否则可能影响电力通信网络的正常运行电力通信网络系…

PCM设备在雷达通信系统应用

PCM设备系统是目前国内企业最常用的综合接入通信设备&#xff0c;PCM设备所具优势众多&#xff0c;因此它能成为目前企业最常用的通信传输接入设备之一&#xff0c;而且在类似雷达通信系统等重要行业中广泛应用着。 PCM设备利用标准的E1数据传输通道&#xff0c;采用PCM制式&a…

ejb的maven_针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块

ejb的maven从前面的部分恢复 第1部分 第2部分 我们在第三部分继续介绍&#xff0c;我们已经有一个父pom&#xff0c;并且已经为我们的war模块定义了pom。 在我们的原始设置中&#xff0c;我们定义了我们的应用程序将包含一个ejb jar形式的服务jar。 这是我们的Enterprise Jav…

PCM设备终端烧毁板卡是什么原因?

最近&#xff0c;有新客服反映他们之前在某家设备厂家买了PCM设备&#xff0c;老是会烧毁终端板。所以另外选择了我们飞畅科技。那么&#xff0c;PCM设备终端烧毁板卡是什么原因呢&#xff1f;接下来飞畅科技的小编就来为大家具体分析下PCM设备终端烧毁板卡的原因&#xff0c;一…

全部隐藏!

在较早的文章中 &#xff0c;我写了以下几句话&#xff1a; 在面向对象的代码库中&#xff0c;该工具包应尽可能离散。 使用开发套件的次数越多&#xff0c;您的代码实际面向对象的次数就越少&#xff0c;或者您的抽象并不是最好的。 。 我认为有必要详细说明这一点&#xff0…

E1 PCM设备的主要特点介绍

E1 PCM设备是目前国内企业最常用的综合接入通信设备&#xff0c;它利用标准的E1数据传输通道&#xff0c;采用PCM制式&#xff0c;直接提供语音、数据、图像等多种用户接口。接下来飞畅科技的小编来为大家详细介绍下E1 PCM设备的主要特点&#xff0c;一起来看看吧&#xff01; …

docker集群_使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署...

docker集群Docker非常适合在单个节点上运行隔离的容器。 但是&#xff0c;大多数软件系统都在多个节点上运行&#xff0c;因此&#xff0c;除了Docker之外&#xff0c;我们还需要某种方法来指定哪些容器应在哪些节点上运行。 我要解决的特定问题如下&#xff1a;我有两个Scala…

PCM信号是什么信号?

PCM信号是模拟信号呢&#xff0c;还是数字信号呢&#xff1f;当然是数字信号啦&#xff01;PCM的完整定义是&#xff1a;将模拟信号的抽样量化值变换成代码称为脉冲编码调制&#xff08;PCM设备&#xff09;。 在光纤通信系统中&#xff0c;光纤中传输的是二进制光脉冲“0”码…

SDH光传输设备是什么?SDH设备特点介绍

SDH光传输设备是一种&#xff0c;将复接、线路传输以及交换功能融合为一体的、并且由统一网管系统操作的综合信息传送网络。SDH光传输设备&#xff0c;他可实现网络有效管理、能实时业务监控、能动态网络维护、不同厂商设备间的互通等多项功能。 SDH光传输设备能大大提高网络资…

通过MicroProfile上下文传播增强了CDI上下文和隔板

当将CDI与异步执行方法&#xff08;例如ManagedExecutorService &#xff0c;传统上不可能访问在原始线程中处于活动状态的所有CDI范围。 MicroProfile Context Propagation可以定义线程执行上下文并将其传递到完成阶段&#xff0c;尽管我们的代码是异步执行的&#xff0c;但它…

ProtoBuff3.0.0在Ubuntu上安装

ProtoBuff3.0.0在Ubuntu上安装 最近安装ns3&#xff0c;运行别人代码&#xff0c;编译build.py时出现需要update Proto的问题&#xff0c;本来想安装最新版本&#xff0c;因为需要翻墙&#xff0c;就参考大部分博客&#xff0c;安装3.0.0版本。&#xff08;备注&#xff1a;直…

SDH与PDH的区别介绍

PDH准同步数字系列&#xff0c;1-4次群2048K、8488K、34368K、139264K&#xff0c;有美国/日本标准和欧洲标准&#xff0c;我国沿用的是欧洲标准&#xff1b;30/32路组成一个1次群&#xff1b;各个厂家产品大多互相不兼容。 SDH同步数字系列&#xff0c;网元都带PDH接口&#…