原文地址:https://docs.oracle.com/javase/tutorial/essential/io/index.html

说明:每一个点都有一篇详细的文章与之对应,每翻译完一篇文章会更新对应的连接; 使用到的所有实例代码均基于java 8,并不会映入后续版本的增强功能!



IO基础教程:

本教程涵盖了java平台类中所使用到的IO基础。首先,关注IO流,这是一个极其强大的概念,它大大简化了IO操作。 这个教程也关注序列化,它使得程序可以将整个对象写入流中并再次读取它们。然后,这个教程将介绍IO和文件系统的相关操作,包括随机访问文件。

在IO Streams部分,大多数的类都被包含在java.io包中,在File IO部分,大多数的类则包含在java.nio.file包中

IO Streams

1,字节流:处理原始的二进制数据IO流

2,字符流:处理字符数据的I / O,自动处理和转换本地字符集

3,缓冲流:通过减少对本机API的调用次数来优化输入和输出

4,格式化读写:允许一个程序读写格式化文本

5,来源于命令行的IO:描述标准流和控制台对象

6,数据流:处理原始数据类型和字符串值的二进制I / O

7,对象流:处理对象的二进制IO

File IO(NIO.2)

1,什么是路径?解释文件系统中路径的概念

2,路径类:介绍java.nio.file包中的关键类

3,路径操作:查看处理语法操作的Path类中的方法

4,文件操作:介绍大多数文件IO方法的基本概念

5,检测文件或者目录:展示如何去检测文件是否存在以及它的深度

6,删除文件或者目录

7,复制文件或者目录

8,移动文件或者目录

9,元数据管理:解释如何读并设置文件的节点属性

10,读、写并创建文件:展示用于文件读写的流和通道方法

11,随机访问文件:展示如何以非顺序方式读写文件

12,创建并读取目录:包含操作目录的API规范,例如如何列举一个目录的内容

13,链接、符号或其他:涵盖特定于符号和硬链接的问题

14,文件树分析:展示如何递归地访问文件树中的每个文件和目录

15,查找文件:展示如何使用模式匹配查找文件

16,监控目录的变动:显示如何使用监视服务来检测在一个或多个目录中添加,删除或更新文件

17,其他有用的方法:涵盖更多无法在本教程中展示,却十分有用的方法

18,传统IO文件代码:显示如何使用Path功能,如果您使用java.io.File类的旧代码。提供了将java.io.File API映射到java.nio.file API的表

总结

java.io包涵盖了大多数程序中可以用来读取数据的类。很多类实现了序列化访问流。这个序列化访问流被分为两个组:一,读取字节流;二,读取Unicode字符。每一个序列化访问流都有一个规范,例如从一个文件进行读取,过滤数据为读写或者序列化一个对象。

java.nio.file包提供了很多强大的类去支持文件的IO操作。这些都是非常全面的API,但是,他们主要包括以下方面:

1,Path类具有操纵路径的方法

2,Files类具有用于文件操作的方法,例如移动,复制,删除以及用于检索和设置文件属性的方法

3,FileSystem类有多种方法来获取有关文件系统的信息

java 8:I / O 基础的更多相关文章

  1. Java 教程整理:基础、项目全都有

    Java 在编程语言排行榜中一直位列前排,可知 Java 语言的受欢迎程度了. 网上有很多 Java 教程,无论是基础入门还是开发小项目的教程都比比皆是,可是系统的很少,对于Java 学习者来说找到系 ...

  2. JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  3. Java回顾之Spring基础

    第一篇:Java回顾之I/O 第二篇:Java回顾之网络通信 第三篇:Java回顾之多线程 第四篇:Java回顾之多线程同步 第五篇:Java回顾之集合 第六篇:Java回顾之序列化 第七篇:Java ...

  4. [转] JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  5. JAVA多线程和并发基础面试问答

    转载: JAVA多线程和并发基础面试问答 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对 ...

  6. 【多线程】JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  7. Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步

    Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述     PV操作是对信号量进行的操作.     进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消 ...

  8. [Java] Java 技术和 JVM 基础

    Java 由 Sun 公司在 1995 首次发布,既是一门编程语言,也是一个计算平台. Java 运行时版本 Java Runtime Edition 当你下载 Java 完时候,你会得到一个 Jav ...

  9. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  10. (转)JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

随机推荐

  1. [windows]窗口文件夹中使用常见任务

    文件夹中使用常见任务,如截图所示增加红色框部分. 设置步骤: 我的电脑--〉右键--〉属性--〉高级选项--〉性能设置--〉自定义:勾选在文件夹中使用常见任务.

  2. ABAP Development Tools的语法高亮实现原理

    ABAP Development Tools的前端是Java,根本识别不了ABAP.那么在ADT里的ABAP语法高亮是如何实现的? 第一次打开一个report时,显示在ADT里的代码是没有任何语法高亮 ...

  3. Oracle中ROWID详解

    oracle数据库的表中的每一行数据都有一个唯一的标识符,或者称为rowid,在oracle内部通常就是使用它来访问数据的.rowid需要 10个字节的存储空间,并用18个字符来显示.该值表明了该行在 ...

  4. 2018.2.14 Java中的哈夫曼编码

    概念 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种.Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造 ...

  5. docker单主机网络

    当你安装Docker时,它会自动创建三个网络.你可以使用以下docker network ls命令列出这些网络: [root@localhost ~]# docker network ls NETWO ...

  6. Bootstrap历练实例:向列表组添加内容

    向列表组添加自定义内容 我们可以向上面已添加链接的列表组添加任意的 HTML 内容.下面的实例演示了这点: <!DOCTYPE html><html><head>& ...

  7. 空类生成对象输出的结果是什么? toString()输出 覆写Object toString()方法输出的结果是什么

    空类生成对象输出的结果是什么? 输出的是对象在内存空间地址的哈希值 com.swift.P@1db9742 空类生成对象toString()输出的结果是什么? 输出的是对象在内存空间地址的哈希值的字符 ...

  8. (转发)IOS高级开发~Runtime(三)

    11.系统类的方法实现部分替换 - (void) methodExchange { Method m1 = class_getInstanceMethod([NSStringclass],@selec ...

  9. 【线段树 树链剖分 差分 经典技巧】loj#3046. 「ZJOI2019」语言【未完】

    还是来致敬一下那过往吧 题目分析 先丢代码 #include<bits/stdc++.h> ; ; ; struct node { int top,son,fa,tot; }a[maxn] ...

  10. mongo 副本集+分片 配置

    服务器规划如下: 副本集名称|服务器IP 192.168.56.111 192.168.56.112 192.168.56.113 shard1 3201 3201 3201 shard2 3202 ...