读取数据 当你从一个相应的数据源对象里提取输入流或者是创建一个读取器对象的时候就会自动打开一个输入流。例如,要为一个文件打开输入流,我们只需要以下面的方式把文件名传递给JavaioFileReader对象的构造函数:javaioFileReader fileReader = new javaioFileReader("/home/me/myfiletxt");要按顺序读取FileReader底层的输入流中的一个字节数据,只需要使用不带参数的read方法。表A中的代码段从一个文件读取文本数据,一次一个字符,然后把它写入Systemout里。要从输入流读取指定数目的字节数据到char数组里,只需要使用带一个char[]参数的read方法。数组的长度被用来确定应该读取的字符的个数。表B演示了这个技术。要关闭一个输入流以及这个流使用的所有系统资源,你只需要以下面的方式调用close方法:fileReaderclose();写入数据 象一个输入流一样,输出流通常在你从相应的数据源提取它或者是在你创建一个写入对象的时候被自动的打开。例如,要为一个文件打开输出流,我们把文件的名字传递给javaioFileWriter对象的构造函数,如下所示:
javaioFileWriter fileWriter = new
javaioFileWriter("/home/me/outtxt"); 要将一个特定的字符写入到输出流中,可以使用带一个int参数的write方法,int参数代表要定入的字符。
int aChar = (int)'X';
fileWriterwrite(aChar); 要在输出流给定的偏移地址写入一个char数组中特定数目的字符,你可以使用带一个char[]参数,一个int 偏移量参数和一个int长度参数的write方法,如下面的例子所示:fileWriterwrite(buffer, 0, byteCount);要关闭一个输出流并释放所有与之相关的系统资源,可以使用close方法,就象这样:fileWriterclose();要强迫写出一个输出流中的所有数据,可以使用下面的flush方法:fileWriterflush();把它们全部综合起来 我们可以使用我们学习过的这些函数从一个文件中读取数据并同时写到另一个文件中去,如表C所示。
1、首先我们来创建一个类名为OutServlet的类,接下来让它继承>
2、然后我们在webxml配置OutServlet的相关的信息,比如类的全路径和访问路径。
3、接下来我们在OutServlet的doGet方法中利用response对象调用getOutputStream()获取一个OutputStream的对象。然后我们来调用OutpuStream对象的write()方法输出一个字节数组,这个字节数组由中文字符串转化得来。
4、利用OutputStream这种方式输出中文有可能产生乱码。注意是有可能,而不是一定产生乱码。
5、为了让它实现无论用什么浏览器都不会乱码,我们来设置浏览器打开这个文件的编码方式;然后设置文件的编码方式。让两者的编码方式一致,它就不会乱码了。
没有找到charactercopyjava文件,eclipse额工作目录在workspace/项目名称 这个文件夹下,而你的charactercopyjava文件在workspace/项目名称/src/inputOutput这个文件夹下,所以是找不到文件的把文件复制到在workspace/项目名称这个文件夹下或者改成
FileReader input=new FileReader("/src/inputOutput/charactercopyjava");
试试
首先你要知道PrintStream 是打印输出流,它继承于FilterOutputStream。FileOutputSteam创建的流fo在PrintStream初始化的时候作为参数传过去。outclose() 这个方法关闭流、释放与此流有关的所有资源。所以fo流已经被关闭,具体可参见源码。
文件字节输出流关联指定文件路径的文件,数据通过文件字节输出流以字节为单位输出并保存到文件中。文件字节输出流继承自OutputStream类,并实现OutputStream类的各种方法。
文件字节输出流的构造方法语法如下:
语法1:以File对象为参数创建FileOutputStream实例
new FileOutputStream(File file)1语法2:以文件对象的绝对路径为参数创建FIleOutputStream实例
new FileOutputStream(String filepath)File类可以对文件或目录的属性进行 *** 作,但是File类不能访问文件的内容,即不能从文件中读取数据或者往文件里写数据。
读文件是指把文件中的数据读取到内存中。反之,写文件是把内存中的数据写到文件中。读写文件的工具是流。
流是指一连串流动的字符,是以先进先出的方式发送和接受数据的通道。 流分为输入流和输出流 。如果数据输入到内存,则称为输入流,如果从内存中输出则称为输出流。 java中的输出流主要由OutputStream和Write作为基类,而输入流则主要由InputStream和Reader作为基类。
在javaio包中,封装了许多输入、输出流的API。在程序中,这些输入、输出流类的对象称为流对象。可以通过这些流对象将内存中的数据以流的方式写入文件,也可以通过流对象将文件中的数据以流的方式读取到内存。
构造流对象往往会和数据源(文件)联系起来。 数据源分为源数据源和目标数据源。 输入流关联的是源数据源,输出流关联的是目标数据源。
输入\输出流又分为 字节流和字符流 两种形式。
字节流是8位通用字节流, 其基本单位是字节。字节流的基类是InputStream类和OutputStream类它们是抽象类。
字符流是16位Unicode字符流,基本单位是Unicode字符。 字符流最适合用来处理字符串和文本,因为它们支持国际上大多数的字符集和语言。字符流的基类是Reader类和Writer类,它们也是抽象类。
InputStream是一个抽象类,里面定义了字节输入流常用的方法。因为抽象类不能实例化,所以在实际中我们通常使用的都是它的子类FileInputStream类。
int read():从输入流中读取下一个字节数据;将数据源中的数据以一个字节一个字节的形式读入进来, 而且读进来之后会把这些字节对应的整数形式返回给你。 如果到了输入流的末尾,则返回-1。
int read (byte[] b):从输入流中读取数据,并将数据存储在缓冲区数组b中,返回实际读取的字节数( 注:这个方法在读的时候也是将读进来的字节以对应整数形式存储在数组中,当从数组中读取时,需要进行强制装换(char) )。如果到了输入流的末尾,则返回-1。
OuputStream是一个抽象类,里面定义了字节输出流常用的方法。因为抽象类不能实例化,所以在实际中我们通常使用的都是它的子类FileOuputStream类。
实例:
以上就是关于Java输出流中的数据时从哪里流到哪里全部的内容,包括:Java输出流中的数据时从哪里流到哪里、如何从response里面取出向客户端输出的html流、本人刚学java的输入输出流,这是书上的源代码,怎么会出错呢,具体怎么解决呀,文件名改了不管用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)