原文地址: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. python os,sys模块的使用

    首先,os模块是用来与操作系统进行交互的模块,可以对操作系统上的一些东西进行操作 而sys是用来对解释器进行一些操作的 一.os os.getcwd() 获取当前工作目录,即当前python脚本工作的 ...

  2. Xamarin 常见问题解决方案汇总

    出现如下提示,错误: 找不到或无法加载主类 com.sun.tools.javac.MainMSB6006: 或 閿欒: 绋嬪簭鍖卆ndroid.support.v4.view.ViewPager涓嶅 ...

  3. Android(java)学习笔记131:关于构造代码块,构造函数的一道面试题(华为面试题)

    1. 代码实例: package text; public class TestStaticCon { public static int a = 0; static { a = 10; System ...

  4. Ubuntux下简单设置vim

    我自己在vim下的设置,基本写简单脚本用的,在~/.vimrc作出如下设置 syntax on "高亮 set nu "行号显示 set smartindent "基于a ...

  5. Applied Nonparametric Statistics-lec6

    Ref: https://onlinecourses.science.psu.edu/stat464/print/book/export/html/8 前面都是对一两个样本的检查,现在考虑k个样本的情 ...

  6. QT添加自定义信号后编译出现undefined reference

    QT添加自定义信号后编译出现undefined reference 这是需要重新生成qmake: build --->run qmake

  7. POJ 3469 最小割 Dual Core CPU

    题意: 一个双核CPU上运行N个模块,每个模块在两个核上运行的费用分别为Ai和Bi. 同时,有M对模块需要进行数据交换,如果这两个模块不在同一个核上运行需要额外花费. 求运行N个模块的最小费用. 分析 ...

  8. python网络编程相关

    什么是网络套接字socket?简述基于tcp协议的套接字的通信流程. 为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)的接口,区分 ...

  9. 编程哲学之 C# 篇:007——如何创造万物

    上帝拥有创建万物的能力,本文介绍创造万物的道,让你也拥有上帝般创造万物的能力! 道 中国哲学家,道家学派创始人--老子,在<道德经>写到: 道生一,一生二,二生三,三生万物 那么,是什么 ...

  10. 00018_流程控制语句switch

    1.选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码. 2.switch语句的语法格式 swit ...