java中如何实现字符流的写入写出?

Python020

java中如何实现字符流的写入写出?,第1张

import java.io.File

import java.io.FileInputStream

import java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.IOException

import java.io.InputStreamReader

import java.io.OutputStreamWriter

public class InputStreamReaderTest

{

public static void main(String[] args)

{

    try

    {

File file=new File("F:\\io\\abc.txt")

FileOutputStream fos=new FileOutputStream(file)

OutputStreamWriter osw=new OutputStreamWriter(fos)

osw.write('大')

osw.write('家')

osw.write('好')

                        osw.close()

FileInputStream fis=new FileInputStream(file)

InputStreamReader isr=new InputStreamReader(fis)

System.out.println((char)isr.read())

System.out.println((char)isr.read())

System.out.println((char)isr.read())

isr.close()

    }

    catch (FileNotFoundException e)

    {

System.out.println("操作的文件不存在")

    }

catch(IOException e)

{

System.out.println("发生IO操作异常")

}

}

}

可以考虑使用bytearrayinputstream

&

bytearrayoutputstream

字节数组位于内存

另外,“输入流是从硬盘到内存的读操作”

&

“输出流是从内存到硬盘的写操作”

这句严格说不正确。输入流、输出流的源和目标均是抽象概念,不一定是硬盘或者文件的

首先你要明白,try catch和finally的关系,

如果 fileReader = new FileReader异常,catch里面会抛出IOException,但是此时finally里面的代码还是会执行。

所以如果你fileReader = new FileReader异常,导致没有这个对象,那么finally里面

fileReader.close()

会导致不存在的文件流关闭,所以事先判断,避免出现这个错误。