又是好久没有更新了,在外面出差,还参加了个Nice公司的亚太区销售峰会,体会了些软件卖钱的理念,然后就是公司搞得气派与自己英文的太烂了。最后说书,这个书其实第一遍算是看个差不多了,慢慢的在把笔记补上,还是原来的话,仅仅看语法和体会一些用到的细节了,至于思想还是感受不到,没有真正的大的项目还是无法支撑的。
从File类开始,到文件的读写控制来叙述。
(1)File 文件或文件集名,抽象路径名,并且可以据此来查看文件的属性,同时,对象一旦建立则不能改变。
(2)最初的I/O类:
(3)java1.1中提供了兼容Unicode与面向字符的I/O功能类
看些使用的例子:
带缓冲的文件输入:
BufferedReader in = new BufferedReader( new FileReader(stringFileName) );
StringReader in = new StringReader( BufferedInputFile.read("") );
基本的文件输出:
PrintWriter out = new PrintWriter( new BufferedWriter(new FileWriter()));
PrintWriter out = new PrintWriter(stringFileName);
标准I/O,System.in out err以及重定向SetIn Out Err这里就不细说了。
(4)新I/O nio
首先是,实际上旧的I/O包已经使用nio重新实现过,因此不显式地使用nio也是用到了。
FileChannel ( FileInputStream FileOutputStream RandomAccessFile )
FileChannel fc = new FileOutputStream("").getChannel();
fc.write();
fc = new RandomAccessFile("").getChannel();
其次是视图缓冲器一说:通过在同一个ByteBuffer上建立不同的视图缓冲器,将同一个字节序列翻译成short,int,float,long和double类型,相当于说是在同一个存储区域以不同的类型形式展现。
最好是内存映射文件,我原来有篇文章简单说了下c++下的使用,意思很明显就是在磁盘上建立一块区域用来存放大文件(可能一下子无法装载进来,选择部分),用起来感觉都已经在内存中了,而不用进行文件的I/O操作。
MappedByteBuffer out = new RandomAccessFile("").getChannel().map( FileChannel.MapMode.READ_WRITE,0,length());
(5)文件加锁
其实会和后面并发中的加锁类似(是一个共享竞争资源),可以使用trylock 或 lock对文件或者映射文件的部分加锁;后者是直接获取锁,如果无法获得而阻塞;前者是尝试获取锁,无法获得直接返回;还有可以设定些等待时间之类的。
后面下会主要说说序列化的。
分享到:
相关推荐
### Java编程思想读书笔记 #### 一、Java与C++的区别及内存管理 在学习Java的过程中,我们常常会拿它与C++进行比较。这两门语言虽然有着相似之处,但也有许多不同点。 1. **内存管理:** - C++提供了更为底层的...
在讨论Java编程思想学习笔记时,首先需要了解的是Java语言的平台无关性,而这一特性正是通过Java虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...
《Java编程思想》是 Bruce Eckel 的经典之作,这本书深入浅出地介绍了Java语言...通过阅读《Java编程思想》,读者可以全面理解Java语言,并具备实际开发能力。配合书中的例子和练习,能更好地巩固知识,提升编程技能。
《Java编程思想笔记》是基于 Bruce Eckel 的经典著作 "Thinking in Java" 所做的学习总结,这本书深入浅出地介绍了Java语言的核心概念和技术。在本文中,我们将围绕Java编程的一些关键知识点进行深入探讨,包括但不...
### Java编程思想笔记知识点概述 #### 第 1 章 对象导论 在这一章节中,主要介绍了Java中的基本概念——对象。对象是面向对象编程的核心,它封装了数据和行为。本章首先解释了对象的概念,接着讨论了如何创建对象...
本文将深入探讨“java学习资料/笔记整理(一)”中涉及的重要知识点,包括Java编程思想、类型协变、查询手册以及数据结构与算法。 首先,Java编程思想是理解Java核心概念的关键。这通常涉及到面向对象编程(OOP)...
这份名为“达内Java_笔记整理.rar”的压缩文件包含了丰富的Java学习资料,主要目标是帮助学习者节省在寻找合适学习资源上的时间,提高...通过系统的阅读和实践,可以有效地提高Java编程技能,为职业发展打下坚实基础。
此外,文件输入/输出(I/O)操作也是Java编程中不可或缺的一部分。笔记会教授如何使用InputStream和OutputStream类进行基本的文件读写,以及高级的FileReader/Writer、BufferedReader/Writer等类,以提高效率和灵活性...
《王者归来之经典-Java编程思想读书笔记》会介绍如何有效地使用异常处理机制,防止程序因未预期的错误而崩溃。 函数和方法是代码复用的关键。Java支持方法重载和重写,这使得代码更加灵活且易于维护。书中会详细...
Java JDK 6学习笔记是为Java初学者量身定制的一份宝贵资料,它涵盖了Java编程的基础概念、语法以及...通过详细阅读和反复实践,初学者可以逐步提高编程技能,理解Java编程的核心思想,从而在软件开发的世界里游刃有余。
笔记内容包括了几个核心领域,如编程思想、多线程设计模式、网络编程,以及JAVA的新输入/输出(NIO)系统。 首先,编程思想是JAVA学习的基础,它涉及到面向对象编程的概念,如封装、继承、多态,以及如何通过设计...
Java学习笔记全集是针对Java编程语言的一份详尽的学习资料,它涵盖了从基础到进阶的各个层面,旨在帮助初学者系统地学习Java,并为有一定经验的开发者提供复习和巩固知识的平台。这份笔记主要关注Java语言的核心概念...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。JDK(Java Development Kit)是Java...随着Java技术的不断发展,虽然JDK 6.0已经过时,但它仍然是初学者理解和掌握Java编程思想的宝贵资源。
Java编程语言是当今软件开发领域中的重要工具,尤其在企业级应用、服务器端开发以及大数据处理等方面占据着主导地位。"java黑马笔记"很可能是针对初学者或进阶者的一份详细教程,涵盖了Java的基础知识到高级特性。...
【CoreJava.zip】:核心Java是Java编程的基础,可能包括了Java SE(标准版)中的核心概念和技术,如IO流、NIO(非阻塞I/O)、多线程、并发编程、集合框架的深入探讨、泛型、枚举、Lambda表达式、Stream API等。...
Java的IO流和NIO(非阻塞I/O)系统提供了强大的文件操作和网络通信功能。笔记详细讲解了字节流、字符流、对象流的使用,以及缓冲区、管道、选择器等NIO特性,帮助读者掌握高效的数据读写和传输。 六、多线程 Java的...
第十四章 标准I/O流与文件.............84 第十五章 网络编程.89 Tiger学习笔记..................94 第一章 Java5.0新特性.......................94 第二章 基础知识.....96 第三章 泛型...........101 第四章 ...
【良葛格java学习笔记】是一份专为新手设计的Java编程学习资料,旨在帮助初学者从零开始了解和掌握Java这门...通过系统学习这份笔记,新手可以逐步熟悉Java编程环境,理解面向对象编程思想,并具备解决实际问题的能力。
- 类库:Java提供了丰富的标准类库,如集合框架、I/O流、网络编程、多线程等,这些是开发中常用的工具。 4. **开发环境**: - IDE(Integrated Development Environment):如Eclipse、NetBeans、IntelliJ IDEA等...