`
jsyczynba
  • 浏览: 8026 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

IO体系结构

 
阅读更多
根据String分为:输入流:InputStream,Reader(可正确转换字符编码)
               输出流:OutStream,Writer(可正确转换字符编码)
方法:.Inputstream类中的常用方法:

(1) public abstract int read();读取一个byte的数据。
(2) public int read(byte b[]);读取一个长度为b.length的字节数组。返回
           值是读取的字节数。
(3) public int read(byte b[],int off,int len); 从输入流中最多读取
           len个字节的数据,存放到偏移量为off的b数组中。
(4) public int available();返回输入流中可以读取的字节数。注意:若输入阻
           塞,当前线程将被挂起,如果InputStream对象调用这个方法的话,它只会返回
           0,这个方法必须由继承InputStream类的子类对象调用才有用。
(5) public long skip(long n); 忽略输入流中的n个字节,返回值是实际忽略的
           字节数, 跳过一些字节来读取。
(6) public int close();在使用完后,必须对我们打开的流进行关闭。


/**
* 从文件中读取数据
*
* @param path
*            :要读取的文件路径
* @return 将读取到的数据以字符串格式返回
*/
public String readFile(String path) {

try {
// 根据文件路径创建一个文件输入流
java.io.FileInputStream fis = new java.io.FileInputStream(path);

// 得到流中字节数
int len = fis.available();

// 根据字节数创建一个字节数组
byte[] bs = new byte[len];

// 读取一个字节
int t = fis.read();
int i = 0;
while (t != -1) {// 如果没有到达文件末尾,就循环读取
// 将读取到的字节放入字节数组中
bs[i] = (byte) t;
// 继续读取下一个字节
t = fis.read();
i++;
}

// 关闭流
fis.close();

// 将字节数组转成一个字符串
String str = new String(bs);

return str;

} catch (Exception ef) {
ef.printStackTrace();
}

return null;
}



方法:.Outputstream类中的常用方法:
(1)public void write(byte b[]);将参数b中的字节写到输出流。
(2)public void write(byte b[ ], int off, int len)); 将参数b的从偏移量off开始的len个字节写到输出流。
(3)public abstract void write((int b); 先将int转换为byte类型,把低字节写入到输出流中。
(4)public void flush();将数据缓冲区中数据全部输出,并清空缓冲区。
(5)public void close();关闭输出流并释放与流相关的系统资源。

/**
* 将指定的数据写入指定的文件中
*
* @param path
*            :要写入数据的文件
* @param content
*            要写入的数据
*/
public void writeFile(String path, String content) throws Exception{

// 创建一个文件输出流,如果文件不存在,会自动创建一个文件
java.io.FileOutputStream fos = new java.io.FileOutputStream(path);

// 将字符串转成字节数组
byte[] bs = content.getBytes();
// 遍历数组,取出字节,写到流中
for (int i = 0; i < bs.length; i++) {
// 写出字节
fos.write(bs[i]);

}

// 强制输出
fos.flush();
// 关闭流
fos.close();

}


//练习完成文件的复制

public class FileCopy {
public static void main (String []args) {
FileCopy fc = new FileCopy();
String srcpath = "D:\\test.jpg";
String destpath = "D:\\newfile.jpg";
fc.copy(srcpath, destpath);
System.out.println("复制结束");
}

/**
* 完成图片的复制
* @param srcpath 源文件地址
* @param destpath 目标地址
*/
public void copy(String srcpath, String destpath) {
try{
//根据源文件地址创建文件输入流
java.io.FileInputStream ins = new java.io.FileInputStream(srcpath);
//根据目标文件地址创建文件输出流
java.io.FileOutputStream ots = new java.io.FileOutputStream(destpath);
int t = ins.read();//  从输入流中读取数据的下一个字节。
while (t != -1) {//若没有到文件末尾就输出
ots.write(t);
t = ins.read();//读取下一个字节
}
//强制输出
ots.flush();
//关闭流
ins.close();
ots.close();
} catch(Exception e) {
e.printStackTrace();
}
}

}

异常处理测试
public class ExceptionTest {
public static void main (String [] args) throws Exception {
ExceptionTest et = new ExceptionTest();

et.Test(110);
}


public void Test(int t) throws Exception {
if (t >= 0 && t < 100) {
System.out.println("输入正常");
} else {
//创建异常对象
Exception ep = new Exception("输入异常");
throw ep;
}
}
}

分享到:
评论

相关推荐

    第13章.IO体系结构和设备驱动程序.pdf

    深入理解LINUX内核第三版- 第13章.IO体系结构和设备驱动程序.pdf 致读者:深入理解LINUX内核第三版pdf版本扫描出来的,内容比较大,所以必须分章节才能上传。我上传比你下载要更长时间,请大家谅解和支持,但是本文...

    IO体系结构的总结

    对于java IO流的介绍和使用,还有涉及的相关类的详细介绍,配有示例代码

    深入理解Linux内核中文第三版——第13章 IO体系结构和设备驱动程序

    《深入理解linux内核中文第三版》,高清晰扫描,真正中文第三版,对Linux 2.6内核进行了详细而细致的讲解。由于之前的压缩包分卷太多,现提供每一章的单独下载文件。100%高清晰第三版!

    java io 结构图

    Java IO体系结构设计得相当丰富且层次分明,便于理解和使用。 Java IO的核心在于流(Stream)的概念,流是一组有序的数据序列,可以是从源读取数据到程序,也可以是从程序写入数据到目的地。Java IO主要分为两大类...

    深入理解LINUX内核(中文第三版)第十三章 IO体系结构和设备驱动程序

    俺花了N个大洋买来的,现在免费提供给大家

    java IO.chm

    这篇详细的总结将围绕Java IO体系结构、核心类、流的概念、缓冲区、转换流、字符集、文件操作、对象序列化以及NIO(非阻塞IO)等多个方面进行展开。 一、Java IO体系结构 Java IO体系是Java平台中用于处理数据输入...

    【高速接口-RapidIO】系列文档1-6.docx

    ### RapidIO概述与关键技术知识点 #### 一、RapidIO简介 ...通过对RapidIO体系结构、操作模型以及包格式等关键知识点的学习,可以更好地理解和掌握这一技术,为未来的高性能嵌入式系统设计提供坚实的基础。

    Java IO 与 装饰模式

    1. Java IO体系结构: Java IO库基于流的概念,流是数据传输的抽象表示,分为字节流(处理单个字节的数据)和字符流(处理Unicode字符的数据)。流可以分为输入流和输出流,分别用于读取和写入数据。Java IO体系包含...

    java io.pdf

    Java IO体系结构主要由以下几个核心部分组成: 1. **流(Streams)**:Java IO的核心概念是流,它们代表数据的源和目的地。流可以是字节流或字符流,分为输入流和输出流。字节流处理单个字节的数据,而字符流处理...

    java-io-decorator.pdf

    Java的IO体系结构是其强大的特性之一,但同时也因为种类繁多的Stream类而显得复杂。这个体系主要包括四大类:InputStream、OutputStream、Reader和Writer。InputStream和OutputStream处理字节流,而Reader和Writer则...

    javaIO实例

    Java IO体系结构主要分为字符流和字节流两大类。字符流处理的是Unicode字符,适合处理文本数据,包括InputStreamReader、OutputStreamWriter、Reader和Writer等类。字节流处理的是原始字节,适用于所有类型的数据,...

    java的io操作源代码

    Java的IO操作是Java编程中的基础且重要的一部分,它提供了对输入...通过阅读和实践这个源代码库,你不仅可以掌握基本的文件操作,还能深入了解Java IO体系结构,为后续的网络编程、数据库操作等复杂任务打下坚实基础。

    Java-Java IO编程教程

    Java IO体系结构由多个类和接口组成,这些类和接口位于java.io包中。基本的IO操作主要分为字符流和字节流两大类。字符流处理Unicode字符,适合文本文件的读写,包括InputStreamReader、OutputStreamWriter、Reader和...

    java电话本IO版本

    首先,我们要理解Java IO体系结构,它基于“流”的概念,分为字节流和字符流两大类,又分为输入流和输出流。字节流处理8位的字节数据,如FileInputStream和FileOutputStream;字符流处理16位的Unicode字符,如 ...

    java io 系列操作代码练习 Java学习资料

    一、Java IO体系结构 Java IO体系主要包括字节流(Byte Stream)和字符流(Character Stream),以及缓冲流(Buffered Stream)、转换流(Convert Stream)、对象流(Object Stream)等。其中,字节流处理单字节的...

    JavaIO流学习总结报告.doc

    - Java的IO体系结构层次分明,Reader和Writer是字符流的顶级抽象,InputStream和OutputStream则是字节流的顶级抽象。每个类都有其专门的子类来处理特定的输入输出任务。 - 对于字符流,Reader包括...

    编程语言java-io-decorator知识点.pdf

    Java的IO体系结构是编程语言Java中的一个重要组成部分,它提供了处理输入输出的多种方式。Java的IO包主要包括四大类输入输出流:InputStream、OutputStream、Reader和Writer。InputStream和OutputStream主要处理字节...

    李兴华 Java IO笔记

    ### 李兴华Java IO笔记知识点详述 #### 流和基础知识 ...通过以上详细解析,我们可以看到Java的IO体系结构非常丰富,涵盖了从基本字节流到高级数据流的各种操作,满足了从文件读写到网络通信的广泛需求。

    java io一些探讨

    Java IO体系结构的核心类主要包括`InputStream`、`OutputStream`、`Reader`和`Writer`,这些类构成了Java IO的基础框架。其中,`InputStream`和`OutputStream`主要用于处理字节流,而`Reader`和`Writer`则用于处理...

Global site tag (gtag.js) - Google Analytics