Learning Java IO indexes

  I/O Streams, it simplifies I/O operations, write a whole object out to stream & read back. File I/O and file system operations, including random access files.

  Classes about I/O Streams most are in java.io, about File I/O are in java.nio.file.

 I/O Streams:

  • Byte Streams: raw binary data
  • Character Streams: character data, auto translation from/to local charset
  • Buffered  Streams: opt I/O by reducing calls to native API
  • Scanning and Formatting: read/write formattedly
  • I/O from the Command Line
  • Data Streams: binary I/O of primitive data type & String Values
  • Object Streams: binary I/O of objects

File I/O (Featuring NIO.2)

  • What is a Path?: tells concept of a path in a given OS
  • The Path Class: intro of the cornerstorne class of package java.nio.file
  • Path Operations: intro to methods of Path class
  • File Operations: intro to concepts common to many of the file i/o methods
  • Checking a File or Directory: methods to check file existence & accessibility
  • Delete/Copy/Move a File/Directory: intros to methods
  • Managing Metadata: methods to read/set file attributes
  • Reading, Writing, Creating Files: stream/channel methods for r/w files
  • Random Access Files: method to r/w file in a non-sequentially manner
  • Creating/Reading Dir: API of dirs, such as ls/dir/mkdir in shell
  • Links, Symbolic or Otherwise: methods of symbolics/hard links
  • Waling the File Tree: methods behaves like for /r in cmd
  • Finding Files: use pattern matching to search for files
  • Watching a Dir for Changes: how to use watch service to detect files adding/removing/updating in 1 or more dirs
  • Other Useful Methods: APIs not mentioned
  • Legacy File I/O Code: .. to update from legacy java.io.File class, a table mapping java.io.File to java.nio.file provided
时间: 2024-11-06 22:59:23

Learning Java IO indexes的相关文章

java IO之输入流——InputStream

java的基本输入流是java.io.InputStream,该抽象类定义了输入流的基本输入操作方法,实现自该抽象类的子类都有定义自己的数据源,例如ByteArrayInputStream的构造函数指定了ByteArrayInputStream输入流的数据源必须是一个字符数组.这就可以有多种不同的数据源,包括:字符数组.String对象.文件."管道".一个由其他种类的流组成的序列... 1 public ByteArrayInputStream(byte buf[]) {} 2 3

Hive报错 Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D

报错信息如下 Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D 解决方法: 编辑 hive-site.xml 文件,添加下边的属性 <property> <name>system:java.io.tmpdir<

java.io.IOException: No space left on device 错误

今天碰到比较奇怪的问题: 7/05/14 19:20:24 INFO util.Utils: Fetching http://192.168.31.160:33039/jars/spark_study_java-0.0.1-SNAPSHOT-jar-with-dependencies.jar to /tmp/spark-446068a4-aaa4-4277-b009-908bf0d4ecac/executor-dcc3175b-7d19-4485-81e1-bf31a83a66b4/spark-

【java】io流之字节输入流:java.io.InputStream类及子类java.io.FileInputStream

1 package 文件操作; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 8 public class TestInputStream { 9 public static void main(String[] args) throws IOException { 10 File file=new F

java io 学习

1,io 体系 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的是File.OutputStream.InputStream.Writer.Reader:一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了. Java.io包中定义了多个流类型类实现输入输出的功能,从不同的角度可以分为: ~按照数据流方向的不同可以分为输入流和输出流. ~按照按照数据处理单位的不同可以分为字节流和字符流. 如下几张图可以直观的描述io

Java IO流 探险

Java的IO流使用了一种装饰器设计模式,它将IO流分为底层节点流和上层处理流.本篇重点在如何访问文件与目录.如何以二进制格式和文本格式来读写数据.对象序列化机制.还有Java7的"NIO.2". 装饰设计模式:当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能.那么自定义的该类称为装饰类. 装饰类通常会通过构造方法接收被装饰的对象.并基于被装饰的对象的功能,提供更强的功能. IO的方式通常分为:BIO(同步阻塞).NIO(同步非阻塞).AIO

Play生产模式下java.io.FileNotFoundException那点事

之前”用Scala+Play构建地理数据查询接口”那篇文章里,用到的数据是json格式的文本文件area.json,存放在conf/jsons文件夹下.最开始是放在public/文件夹下,在线上准生产模式下运行: activator dist 得到mosquito-1.0.zip压缩包,解压后: 去/bin目录下运行mosquito脚本报错: java.io.FileNotFoundException 然后就去解压的mosquito-1.0/看发现并没有public文件夹,由此可见public文

keytool 错误: java.io.FileNotFoundException: 拒绝访问

keytool 错误: java.io.FileNotFoundException: 拒绝访问 打开命令行,切换到D:\AndroidStudioProjects\MyApplication\app目录 keytool 在JDK的/bin目录下,比如:/opt/jdk/bin 用以下的命令生成一个证书: keytool -genkey -alias android.key -keyalg RSA -validity 20000 -keystore android.key 老是报如题的错误: 后来

Java IO详解(转)

IO是Java及众多编程语言很重要的一块,同时很多程序的瓶颈和耗时操作也都在IO这块. 一.简介 IO操作面临很多问题,信息量的巨大,网络的环境等等,因为IO不仅仅是对本地文件.目录的操作,有时对二进制流.还有一部分是网络方面的资源,所以多种原因直接造成IO操作无疑是耗时且复杂多变的.Java对IO的支持是个不断的演变过程,经过了很多的优化,直到JDK1.4以后,才趋于稳定,在JDK1.4中,加入了nio类,解决了很多性能问题,虽然我们有足够的理由不去了解关于Java IO以前的情况,但是为了学