`
li_sir
  • 浏览: 115420 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java之IO 总结和笔记

    博客分类:
  • java
阅读更多
创建一个文件
File f=new File("1.txt");
f.createNewFile();//创建文件
f.mkdir();//创建目录
f.deleteOnExit();//程序结束时自动删除创建的文件
File.separator 是跨系统文件分隔符


//list方法,列出文件夹下所有的文件和目录名称,如果过滤,传入FilenameFilter,下面是只返回扩展名是java的文件名
String[] names=f.list(new FilenameFilter()
		{
			public boolean accept(File dir,String name)
			{
				return name.indexOf(".java")!=-1;
			}
		});


输入输出流:
节点流
过滤流
InputStream                OutputStream
FileInputStream            FileOutputStream

BufferedInputStream 带缓冲过滤流
BufferedOutputStream 带缓冲输出过滤流
DataInputStream  提供读写java中基本数据类型的过滤流

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

import java.io.*;
class PipedStreamTest
{
	public static void main(String[] args)
	{
		PipedOutputStream pos=new PipedOutputStream();
		PipedInputStream pis=new PipedInputStream();
		try
		{
			pos.connect(pis);
			new Producer(pos).start();
			new Consumer(pis).start();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		
	}
}

class Producer extends Thread
{
	private PipedOutputStream pos;
	public Producer(PipedOutputStream pos)
	{
		this.pos=pos;
	}
	public void run()
	{
		try
		{
			pos.write("Hello,welcome you!".getBytes());
			pos.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

class Consumer extends Thread
{
	private PipedInputStream pis;
	public Consumer(PipedInputStream pis)
	{
		this.pis=pis;
	}
	public void run()
	{
		try
		{
			byte[] buf=new byte[100];
			int len=pis.read(buf);
			System.out.println(new String(buf,0,len));
			pis.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}



Reader和Writer这两个抽象类主要用来读写字符流

InputStreamReader OutputStreamWriter 字节流和字符流的桥梁

FileInputStream fis=new FileInputStream("1.txt");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
System.out.println(br.readLine());
br.close();

InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String strLine;
while((strLine=br.readLine())!=null)
{
System.out.println(strLine);
}
br.close();




分享到:
评论
3 楼 angel243fly 2010-11-02  
elementstorm 写道
第二段代码有问题哦
我要是有个文件叫think.in.java.pdf
你也给列出来了

应该判断最后是不是以“.java”结尾的吧
2 楼 rongxh2010 2010-10-27  
学习下管道流的例子,以前没用过,谢谢总结!
1 楼 elementstorm 2010-10-27  
第二段代码有问题哦
我要是有个文件叫think.in.java.pdf
你也给列出来了

相关推荐

    java IO流详细笔记

    Java IO流详解

    java io流学习笔记1

    dbcpconfig.properties和IKAnalyzer.cfg.xml可能是数据库连接配置文件和分词器配置文件,它们可能涉及如何使用Java IO流处理数据库连接和文本分析过程。 总之,Java IO流是Java编程中不可或缺的一部分,它提供了...

    Java 的 IO流笔记.md

    ### Java IO流学习笔记 #### 一、IO流的四大抽象类 - **InputStream/OutputStream**:字节的输入输出流的抽象类。 - 数据单位:字节(8比特,范围0-255) - **Reader/Writer**:字符的输入输出流的抽象类。 - ...

    java中IO完整笔记

    java 中文件的操作,适合基本入门的 ,

    javaIO流笔记

    ### Java IO流知识点详解 #### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了强大的IO流处理类库,主要位于`java.io`包中。这些类库...

    java IO流学习笔记

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

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

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

    javaIO读书笔记

    IO系统解构有装饰者设计模式息息相关,所以先从分析它们的关系:

    Java IO学习笔记+代码

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

    java零基础自学 之 JavaIO流处理

    Java IO流处理是Java编程中一个非常重要的概念,主要用于数据的输入和输出操作。对于Java初学者来说,理解和掌握IO流的基本使用至关重要。在Java中,流被形象地比喻为数据传输的通道,数据可以从一个源头(如文件、...

    java基础学习总结笔记

    Java基础常识、如何安装Java工具、Java语言的基础组成、Java面向对象、Java多线程、Java常用类、集合(重点)、IO流、GUI图形界面、网络编程、正则表达式、反射、注解、类加载器、动态代理等等,另外还包括银行管理...

    java基础:IO流学习笔记

    java基础:IO流学习笔记

    java学习笔记总结.doc

    这篇文档是个人的Java学习笔记总结,旨在帮助0基础的学习者从零开始掌握Java基础知识,并逐步成为专业的Java开发者。以下是笔记中涉及的一些关键知识点: 1. **Java开发环境的设置**: 要开始Java编程,首先需要...

    JavaIO总结.pdf

    Java IO总结 Java IO是Java中对文件的操作方式,以流的方式进行。流是Java内存中的一组有序数据序列。Java将数据从源(文件、内存、键盘、网络)读入到内存中,形成了流,然后将这些流还可以写到另外的目的地(文件...

    IO笔记.zip关于javaIO流部分的详细笔记

    本笔记将深入探讨Java IO流的各个方面,从基础的节点流到功能强大的装饰缓冲流,帮助开发者更好地理解和应用这一关键概念。 一、Java IO流概述 Java IO流分为四个主要类别:字节流(Byte Stream)、字符流...

    java学习笔记之Java-IO操作共19页.pdf.zi

    Java-IO操作共19页的笔记详细介绍了这一关键领域,旨在帮助开发者掌握如何有效地读取、写入和管理数据。Java IO API提供了一套丰富的类和接口,使得开发者可以方便地进行文件读写、网络通信、流处理等操作。 1. **...

Global site tag (gtag.js) - Google Analytics