`

java IO完整版学习笔记

    博客分类:
  • java
 
阅读更多
原文出处:http://developer.51cto.com/art/201109/292225.htm

--->删除文件
# String fileName="D:"+File.separator+"hello.txt"; 
#         File f=new File(fileName); 
#         if(f.exists()){ 
#             f.delete(); 
#         }else{ 
#             System.out.println("文件不存在"); 
#         } 
f.mkdir(); 
#         File f=new File(fileName); 
#         File[] str=f.listFiles();  //f.list

if(temp.isFile())
if(temp.isDirectory())
续传文件
#         RandomAccessFile demo=new RandomAccessFile(f,"rw"); 
#         demo.writeBytes("asdsad"); 
字节流 向文件中写入字符串 
OutputStream out =new FileOutputStream(f); //追加;new FileOutputStream(f,true); 
读文件
  FileInputStream input = new FileInputStream(temp);
          byte[] b = new byte[1024 * 5];
          while ( (len = input.read(b)) != -1)

字符流
#写       Writer out =new FileWriter(f);   //追加 new FileWriter(f,true);
#         String str="hello"; 
#         out.write(str);

#读       char[] ch=new char[100]; 
#         Reader read=new FileReader(f); 
#         int count=read.read(ch);  

将上面的字节流和字符流的程序的最后一行关闭文件的代码注释掉,然后运行程序看看。你就会发现使用字节流的话,文件中已经存在内容,但是使用字符流的时候,文件中还是没有内容的,这个时候就要刷新缓冲区。

使用字节流好还是字符流好呢? 答案是字节流。首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的  字符流开发方便

整个IO类中除了字节流和字符流还包括字节和字符转换流。
OutputStreramWriter将输出的字符流转化为字节流
InputStreamReader将输入的字节流转换为字符流
但是不管如何操作,最后都是以字节的形式保存在文件中的。将字节输出流转化为字符输出流

Writer out=new OutputStreamWriter(new FileOutputStream(file));  //将输出的字符流转化为字节流

Reader read=new InputStreamReader(new FileInputStream(file)); 
# char[] b=new char[100]; 
#         int len=read.read(b);

以内容为输出输入目的地
ByteArrayInputStream 主要将内容写入内容
ByteArrayOutputStream 主要将内容从内存输出

管道流主要可以进行两个线程之间的通信。
PipedOutputStream 管道输出流
PipedInputStream 管道输入流

# BufferedReader buf = new BufferedReader( 
#                 new InputStreamReader(System.in));

Scanner的小例子,从键盘读数据 

SequenceInputStream主要用来将2个流合并在一起,比如将两个txt中的内容合并为另外一个txt。下面给出一个实例:
# SequenceInputStream sis = new SequenceInputStream(input1, input2); 
#         int temp = 0; 
#         while((temp = sis.read()) != -1){ 
#             output.write(temp); 
#         } 

文件压缩 ZipOutputStream类
#   ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream( 
#                 zipFile)); 
#         zipOut.putNextEntry(new ZipEntry(file.getName())); 
#         // 设置注释 
#         zipOut.setComment("hello"); 
#         int temp = 0; 
#         while((temp = input.read()) != -1){ 
#             zipOut.write(temp); 
#         }

对象序列化就是把一个对象变为二进制数据流的一种方法。
分享到:
评论

相关推荐

    JAVA学习笔记(完整版)

    【JAVA学习笔记(完整版)】是一份由林信良编写的、专为JAVA初学者设计的学习资料。这份详尽的教程以清晰易懂的PDF文档形式呈现,旨在帮助新手快速掌握JAVA编程语言的核心概念和实用技巧。 在JAVA学习过程中,首先...

    Java任小龙版基础笔记.zip

    这个“Java任小龙版基础笔记.zip”压缩包包含了他在教学过程中的精华内容,便于学习者系统地学习Java。其中,“JAVA零基础入门教程笔记-任小龙”很可能是PDF或者文档形式的教程,详细讲解了Java的基础概念和语法。 ...

    良葛格Java学习笔记(完整版)

    《良葛格Java学习笔记(完整版)》是一份全面且深入的Java编程教程,适合不同层次的Java学习者,无论你是初学者还是有经验的开发者,都能从中受益。这份笔记详细介绍了Java语言的核心概念、语法特性以及实际开发中的...

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    韩顺平java笔记完整版

    【标题】:“韩顺平java笔记完整版”是著名IT教育家韩顺平关于Java编程的全面学习资料,涵盖了从基础到高级的Java知识体系。 【描述】:这份笔记是韩顺平老师教学经验的结晶,旨在帮助学习者系统地理解和掌握Java...

    JAVA学习笔记-良葛格

    Java学习笔记主要涉及Java语言的历史背景、语言特点、应用平台和学习建议。以下是对这些内容的详细解析: ### Java语言的历史背景 Java起源于1990年代初的Sun公司(现为Oracle公司的一部分)的“绿色项目”计划,...

    韩顺平java从入门到精通笔记完整版

    "韩顺平java从入门到精通笔记完整版"是一份针对Java初学者精心编纂的学习资料,旨在帮助初学者系统、全面地掌握Java编程技术。 这份笔记首先会介绍Java的基础概念,包括Java的历史、特点、运行环境以及开发工具的...

    韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(完整清晰版)

    "韩顺平 Java 从入门到精通视频教程(全 94 讲)学习笔记整理(完整清晰版)" 本资源提供了一个完整的 Java 学习笔记,从基础到高级,涵盖了 Java SE、Java EE 和 Java ME 等方面的知识点。笔记的内容包括 Java ...

    Java JDK 6学习笔记——ppt

    Java JDK 6学习笔记——PPT简体版是针对初学者和有经验的开发者们的一份宝贵资源,它深入浅出地介绍了Java编程语言的核心概念和技术。这份资料以PPT的形式呈现,使得学习过程更加直观易懂,同时包含了课程中的源代码...

    良葛格Java JDK 5.0学习笔记

    《良葛格Java JDK 5.0学习笔记》是一本专为初学者设计的Java编程教程,它以PDF格式提供,旨在帮助读者掌握Java JDK 5.0版本的关键特性和编程技巧。Java JDK 5.0是Java发展历程中的一个重要里程碑,引入了许多创新...

    良葛格的java学习笔记全

    《良葛格的Java学习笔记全》是一份深入浅出的Java编程学习资源,适合初学者及有一定基础的开发者。这份笔记以Java 5.0版本为基础,详细讲解了Java语言的核心概念和技术,旨在帮助读者建立起坚实的编程基础,进一步...

    java的电子版笔记,大家可以一起学习

    总的来说,这份"java的电子版笔记"将全面讲解Java语言的基础和进阶内容,是学习和复习Java知识的好资料。无论是对于想入门Java的新人,还是想要深入理解Java特性的开发者,都是一份不可多得的学习资源。通过学习,你...

    良葛格JAVA学习笔记(最初版)

    【良葛格JAVA学习笔记(最初版)】是一份针对初学者编写的JAVA编程学习资料,以网页形式呈现。这份笔记涵盖了JAVA语言的基础至进阶内容,尽管作者提及只有前六章完整,但这六章已经能够为初学者构建扎实的JAVA编程...

    java初级学习笔记

    15. **Java SE、Java EE和Java ME**:了解这三种Java平台的不同用途,分别是标准版(SE)用于桌面应用,企业版(EE)用于服务器端应用,微型版(ME)则用于嵌入式设备。 以上只是Java初级学习的部分核心概念,随着...

    适合初学者的java学习笔记

    这份"适合初学者的java学习笔记"正是为了帮助那些刚接触编程或者打算入门Java的人设计的。 笔记内容可能包括以下几个核心部分: 1. **Java基础**:这部分会详细介绍Java的基本语法,如变量、数据类型、运算符、...

    良葛格 Java 学习笔记-JavaGossip全(v1+v2)

    《良葛格 Java 学习笔记-JavaGossip全(v1+v2)》是一部集成了作者良葛格多年编程经验的学习资料,旨在帮助初学者和有经验的开发者深入理解和掌握Java这门强大的编程语言。这份笔记包含了JavaGossip的两个版本,v1和...

    小码哥网易云java基础笔记(Excel完整版)

    【小码哥网易云java基础笔记(Excel完整版)】是网易云课堂知名讲师小码哥精心编撰的一份Java编程基础知识的学习资料。这份笔记涵盖了Java语言的核心概念、语法结构以及实际开发中的常见问题,旨在帮助初学者系统地...

Global site tag (gtag.js) - Google Analytics