`
zxz_java
  • 浏览: 83901 次
社区版块
存档分类
最新评论

JAVA IO 学习

阅读更多
简单的创建一个文件:
File f=new File("temp.txt");
file.createNewFile();创建一个文件.

创建跨平台、操作系统的文件
File file=new File(File.separator)//构造根目录.如当前在D:盘
String strFile="目录名"+File.separator+"子目录"+File.separator+"temp.txt";//组装文件的全路径
//文件创建时指定的目录名必须存在否者出现IOException.
File f=new File(file,strFile);
f.createNewFile();

file.mkdir();创建一个目录.
file.createTempFile()//创建临时文件.
file.deleteOnExist();//删除文件.
String [] fileList=file.list();得到目录下的文件和目录名.
isDirectory()判断是否是目录.

//得到自定义的文件集合
String [] fileList=file.list(new FilenameFilter(){
//实现接口 FilenameFilter的accept方法用于过滤器文件名。
public boolean accept(File dir,String name){
//过滤提取出所有.txt文件.
return name.indexOf(".txt")!=-1;//存在.txt子串.
}
});


File类中没有提供对文件的读写操作的方法,文件的读写操作是通过输入流和输出流完成的.

字节流:
inputStream:
abstract int read()读取一个字节数据,并返回读到的数据,如果返回1表示读到文件的末尾.
int read(byte[] b):
int read(byte[] b,int off, int len):
long skip(long n):跳过n个字节

outputStream:
write(int b)写入一个字节到输出流
write(byte[] b)写入字节数组到输出流
write(byte[]b,int off,int len)往输出流中写入数组b中从偏移量off开始的len个字节的数据。
void flush() :刷新输出流,强制缓冲区中的输出字节被写出,只对使用了缓冲的流类起作用。
void close() :关闭输出流,释放和这个流相关的系统资源。

FileInputStream,FileOutputStream:采用字节作为参数进行读写

提供带缓冲的输入和输出流:
BufferedInputStream,BufferedOutputStream构造时需要提供一个已经存在的输入或输出流作为参数。
FileInputStream,FileOutputStream继承自inputStream,outputStream所以也可作为参数。因为提供了缓冲功能所以效率更高。

flush()与close():
当操作中需要继续使用缓冲流对象时可调用flush()方法强制输出缓冲区中数据,当不再使用缓冲流对象时可直接调用close()方法输出数据。

DataInputStream,DataOutputStream提供了读写Java中的基本数据类型的功能。构造时需要提供一个已经存在的输入或输出流作为参数。

PipedInputStream和PipedOutputStream 管道流,成对出现使用,用于线程间的通信。
一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。使用管道流必须同时构造管道输入流和管道输出流。

写入字符流的抽象类Reader,Writer:子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。
BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
BufferedReader从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream。

处理字符:BufferedReader br=new BufferedReader(new InputStreamReader(InputStream));
String str=br.readLine();//读入一行数据。

RandomAccessFile:此类的实例支持对随机存取文件的读取和写入。
RandomAccessFile(File file,String mode)构造方法中mode参数指定用以打开文件的访问模式。允许的值及其含意为:
"r" 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。 
"rw" 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。 
"rws" 打开以便读取和写入,对于 "rw",还要求对文件的内容或元数据的每个更新都同步写入到基础存储设备。 
"rwd"   打开以便读取和写入,对于 "rw",还要求对文件内容的每个更新都同步写入到基础存储设备。 

getFilePointer():读取文件指针。
seek(long pos): 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。
分享到:
评论

相关推荐

    javaIO学习课件 很详细的讲解

    这个“javaIO学习课件”提供了非常详尽的教程,旨在帮助初学者和有经验的开发者深入理解Java I/O系统的工作原理和应用。 首先,我们来看一下IO_1.pdf,它可能涵盖了基础的I/O流概念。在Java中,I/O流被分为字节流和...

    Java IO学习笔记+代码

    Java IO是Java编程语言中用于输入/输出操作的重要部分,它提供了一系列的类和方法来处理数据的读写,文件的创建、删除以及流的管理等。以下是对标题和描述中涉及的知识点的详细说明: 1. **文件对象的生成**: 在...

    Java IO学习基础之读写文本文件

    ### Java IO学习基础之读写文本文件 #### 一、Java IO概述 Java IO(Input/Output)是Java中处理输入输出操作的核心包,它主要提供了文件读写、网络通信等基本功能。Java IO操作主要基于流的概念进行,分为字节流...

    java IO学习

    Java IO学习是一个重要的主题,尤其对于Java开发者而言,掌握IO流是进行数据读写、文件操作、网络通信等基础工作必不可少的技能。这篇博客的作者通过链接提供了对Java IO的深入理解和实践总结。 首先,我们要了解...

    Java IO学习文件处理

    import java.io.*; import java.util.*; public class FileFormatChange { /** * 1、创建输入(输出)流对象 * 2、读(写)数据 * 3、关闭输入输出流 */ public static void main(String[] args) { // ...

    java io 学习文档

    关于java io 的学习 文档 打开方式 直接是记事本即可

    Java IO学习总结归纳(附代码)

    以下是对Java IO的详细学习总结: ### 1. IO流概述 IO流是Java中处理输入输出的核心概念。它们可以被视为数据传输的管道,允许数据在源和目的地之间流动。Java将所有IO操作封装为流对象,分为四大类:字节流(Byte ...

    JavaIO总结.pdf

    Java IO学习笔记中提到,流的操作非常容易,Java API中提供了丰富的流处理类,API也大差不差,看看文档即可上手。 在Java IO中,流的分类非常丰富,包括输入流、输出流、字节流、字符流、节点流、处理流等等。掌握...

    JavaIO流学习总结报告.doc

    虽然本报告主要讨论了基础的IO流,但了解NIO也是Java IO学习的重要部分。 总之,Java IO流是处理输入输出的核心工具,理解字节流与字符流的区别、流的层次结构以及基本操作方法,对于进行文件读写、网络通信等任务...

    java io流学习笔记1

    Java IO流是Java编程语言中处理输入...通过深入学习和理解IO流,开发者可以更好地掌握数据的读取、写入和传输,提升程序的效率和功能。同时,熟悉相关工具和配置文件的使用也能帮助开发者在实际项目中更加得心应手。

    java IO流学习笔记

    ### Java IO流学习笔记 #### 异常处理与IO流操作 在进行Java IO流的学习过程中,异常处理是非常重要的一个方面。本节将详细介绍如何在Java中处理异常,并结合具体的IO流操作进行说明。 #### 一、异常处理 在Java...

    java IO.chm

    《Java IO.chm》是一个关于Java输入/输出(IO)技术的压缩文件,其中包含了丰富的资料,适合开发者深入理解和学习Java IO系统。这篇详细的总结将围绕Java IO体系结构、核心类、流的概念、缓冲区、转换流、字符集、...

    io:java io学习项目

    java io学习以io,nio为基础,netty为辅程序员素养:掌握面向对象的需求分析和设计理解SOLID原则,理解常用设计模式,熟练掌握重构理解面向服务的架构理解Linux操作系统的一些概念,比如内核空间,用户空间,系统调用,...

    java学习笔记1(java io/nio)

    java学习笔记1(java io/nio)设计模式

    《JAVA_IO流学习总结》

    Java IO流是Java平台核心特性之一,它负责在程序与外部资源之间传输数据。这个概念在Java编程中至关重要,因为它提供了处理输入(读取)和输出(写入)的机制,无论是从键盘、文件、网络还是其他数据源。在本文中,...

    JAVA_IO流学习总结

    JAVA_IO流学习总结

Global site tag (gtag.js) - Google Analytics