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查看文件

java用i/o查看文件_Java文件I / O基础相关推荐

  1. java返回值变为文件_Java 文件操作-File

    1.File文件操作 java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等),不能对文件的 ...

  2. java绝对路径和相对路径_Java文件路径,绝对路径和规范路径

    java绝对路径和相对路径 Today we will look into the Java file path. Java File path can be abstract, absolute o ...

  3. java 读取css文件_java文件读取的两种方式

    JAVA中读取文件(二进制,字符)内容的几种方 JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代 ...

  4. java 包含文件_java 文件夹拷贝(文件夹里包含文件和文件夹) 代码

    java代码实现文件夹拷贝,文件夹可能包含文件夹和文件import java.io.BufferedReader; import java.io.File; import java.io.FileIn ...

  5. .java文件_Java文件操作

    1.以文件流的方式复制文件 将一个已存在文件复制到指定位置,如本例中将源文件"/home/hadoop/Scene1"拷贝一份重命名为"/home/hadoop/Scen ...

  6. java 流文件_Java文件流相关

    Java里面,将IO流体系按操作方式分类,可分为字节流和字符流.相关类结构图如下: 字节流和字符流.png 字节流相关的基类是InputStream/OutputStream,其操作方式处理的最基本的 ...

  7. java文件解压文件_java 文件解压缩

    直接上代码: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; ...

  8. JAVA设置流中当前位置_java文件流的问题!急

    朋友你好,用使用 javadoc 标记可以做到.具体说明如下:: javadoc 标记是插入文档注释中的特殊标记,它们用于标识代码中的特殊引用.javadoc 标记由"@"及其后所 ...

  9. java 文件传输 多客户端 传输多文件_java 文件传输 多客户端 传输多文件

    java 文件传输 多客户端 传输多文件 [2021-01-30 10:02:05]  简介: 服务器 一.进程与线程 二.vsftp服务器 1.文件传输协议(file transfer protoc ...

最新文章

  1. 区分真实模式的两个标准
  2. Python_模块介绍
  3. iOS- UITableView could not hold the selected row after reload
  4. centos6.2 64位LNMP(linux+nginx+mysql+php)实现
  5. LeetCode 罗马数字与阿拉伯数字的转换
  6. 安装iproute2
  7. 信息学奥赛一本通C++语言——1110:查找特定的值
  8. 案例 体检套餐管理系统 需求一览 c# 1614099219
  9. html5 websocket插件,html5实现的WebSocket一个小例子(附代码)
  10. 计算机三维技术在影视广告设计中应用的研究 罗晋,计算机三维技术在影视广告设计中应用的研究...
  11. PHP全路径无限分类导航LINK代码实现
  12. VMware vCloud Director视频教程
  13. 1.background、color、渐变
  14. 沙特阿美以246亿元收购荣盛石化10%股份,还将在中国东北建设大型炼化一体化项目...
  15. Mac 下彻底卸载Unity3d
  16. 李宏毅ML笔记12:半监督
  17. 转转集团品牌战略升级:更换新LOGO,1亿美元战投红布林
  18. C51单片机之keil编程入门(一)
  19. 如何建立一个真实光栅结构的光导
  20. Glyce 一种针对中文汉字结构信息抽取的Embedding策略

热门文章

  1. POJ2373-Dividing the Path【单调队列优化dp】
  2. 漫画:什么是计数排序
  3. Object.keys方法拿到对象的key值
  4. Mybatis入门程序增删改查操作
  5. 详细整理分层开发步骤!
  6. JSP 登录案例实现
  7. 看了通信领域中信息的处理的三种方式我终于知道电报能发送信息的原理了
  8. 邮件发送---SpringBoot
  9. 为什么jdk的CLASSPATH环境变量需要设置rt.jar 和 tools.jar
  10. 让CentOS能用yum自动安装rar和unrar