Java输入数据流详解.doc_第1页
Java输入数据流详解.doc_第2页
Java输入数据流详解.doc_第3页
Java输入数据流详解.doc_第4页
Java输入数据流详解.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java输入数据流在Java中,我们把能够读取一个字节序列的对象称作一个Java输入数据流;而我们把够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。因为面向字节的流不方便用来处理存储为Unicode(每个字符使用两个字节)的信息。所以Java 引入了用来处理Unicode字符的类层次,这些类派生自抽象类Reader和Writer,它们用于读写双字节的Unicode字符,而不是单字节字符。Java.io包简介JDK标准帮助文档是这样解释Java.io包的,通过数据流、序列和文件系统为系统提供输入输出。InputStream类和OutputStream类InputStream类是所有输入数据流的父类,它是一个抽象类,定义了所有Java输入数据流都具有的共通特性。java.io.InputStream的方法如下:public abstract read()throws IOException读取一个字节并返回该字节,如果到输入源的末则返回-1.一个具体的Java输入数据流需要重载此方法,以提供 有用的功能。例如:在FileInputStream类中,该方法从一个文件读取一个字节。public int read(byte b)throws IOException把数据读入到一个字节数据中,并返回实际读取的字节数目。如果遇到流末 则返回-1,该方法最多读取b.length个字节。public abstract int read(byte b,int off,int len)throws IOException把数据读入到一个字节数组中并返回实际读取的字节数目。如果遇到流的末尾则的返回-1. 其中参数off表示第一个字节在b中的位置,len表示读取的最大字节数。public long skip(long n)throws IOException略过N个字节不读取,会返回实际略过的字节数目。因为数据流中剩下的数据可能不到N 个字节那么多,所以此时返回值会小于N.public int available()throws IOExceptionread方法(包括后面要讲的OutputStream类的Write方法)都能够阴塞一个线程,直到字节被 实际读取或写入。这意味着如果一个流不能立即被读或被写/* Created on 2005-3-10* To change the template for this generated file go to* WindowPreferencesJavaCode GenerationCode and Comments*/package mytestfiles;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;/* To change the template for this generated type comment go to* WindowPreferencesJavaCode GenerationCode and Comments*/public class Filespublic static void main(String args) throws IOExceptionFiles f = new Files();/ System.out.println(f.readFile(f:LinkFile.java);/ f.readAllFile(f:,LinkFile.java);/ f.readLineFile(f:,LinkFile.java);/ System.out.println(f.fileIsNull(f:,122.txt);/ f.readFolderByFile(F:PDF);/ System.out.println(f.createAndDeleteFolder(ss,f:);/ System.out.println(f.createAndDeleteFile(f:ss,TestFile.dat);String ss = new String50;for(int i=0;issi = 信息技术和互联网(计算机软硬件,通讯) +i;f.writeFile(f:ss,TestFile.txt,ss);/* 文件的写入* param filePath(文件路径)* param fileName(文件名)* param args* throws IOException*/public void writeFile(String filePath,String fileName,String args) throws IOExceptionFileWriter fw = new FileWriter(filePath+fileName);PrintWriter out=new PrintWriter(fw);for(int i=0;iout.write(argsi);out.println();out.flush();fw.close();out.close();/* 文件的写入* param filePath(文件路径)* param fileName(文件名)* param args* throws IOException*/public void writeFile(String filePath,String fileName,String args) throws IOExceptionFileWriter fw = new FileWriter(filePath+fileName);fw.write(args);fw.close();/* 创建与删除文件* param filePath* param fileName* return 创建成功返回true* throws IOException*/public boolean createAndDeleteFile(String filePath,String fileName) throws IOExceptionboolean result = false;File file = new File(filePath,fileName);if(file.exists()file.delete();result = true;System.out.println(文件已经删除!);elsefile.createNewFile();result = true;System.out.println(文件已经创建!);return result;/* 创建和删除目录* param folderName* param filePath* return 删除成功返回true*/public boolean createAndDeleteFolder(String folderName,String filePath)boolean result = false;tryFile file = new File(filePath+folderName);if(file.exists()file.delete();System.out.println(目录已经存在,已删除!);result = true;elsefile.mkdir();System.out.println(目录不存在,已经建立!);result = true;catch(Exception ex)result = false;System.out.println(CreateAndDeleteFolder is error:+ex);return result;/* 输出目录中的所有文件及目录名字* param filePath*/public void readFolderByFile(String filePath)File file = new File(filePath);File tempFile = file.listFiles();for(int i = 0;iif(tempFilei.isFile()System.out.println(File : +tempFilei.getName();if(tempFilei.isDirectory()System.out.println(Directory : +tempFilei.getName();/* 检查文件中是否为一个空* param filePath* param fileName* return 为空返回true* throws IOException*/public boolean fileIsNull(String filePath,String fileName) throws IOExceptionboolean result = false;FileReader fr = new FileReader(filePath+fileName);if(fr.read() = -1)result = true;System.out.println(fileName+ 文件中没有数据!);elseSystem.out.println(fileName+ 文件中有数据!);fr.close();return result;/* 读取文件中的所有内容* param filePath* param fileName* throws IOException*/public void readAllFile(String filePath,String fileName) throws IOExceptionFileReader fr = new FileReader(filePath+fileName);int count = fr.read();while(count != -1)System.out.print(char)count);count = fr.read();if(count = 13)fr.skip(1);fr.close();/* 一行一行的读取文件中的数据* param filePath* param fileName* throws IOException*/public void readLineFile(String filePath,String fileName) throws IOE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论