java I/O问题 请问如何将文件读入流中,再从流中读取文件的内容? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方式多了,如果你要读字符可以:BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("文件名")));用br.readln()可以从文件中读出一行字符。br.read()可以读出一个字符。详细的情况,请自己查API吧。 // 一下两组类都是基于字节流的,例如一些图形数据文件的处理 FileOutputStream BufferedOutputStream FileInputStream BufferedInputStream // 而以下两组是基于字符流的处理效率会更高一些 FileReader BufferedReader InputStreamReader FileWriter BufferedWriter OutputStreamWriter 1 下面这个例子是拷贝一个文件到另外一个文件,文件的形式有两种一种是基于字符型的如:txt文档,或java文档。 2 而另一种是基于非字符的,而是用字节处理起来更方便。 3 4 /* 5 *以下这段代码是拷贝一个txt文档到另一个位置 6 */ 7 8 boolean eof = false ; 9 int intChar = 0 ;10 11 // 获得对源文件到的连接 12 File source = new FileSource(String sourceName);13 14 // 让输入流与文件关联起来,同时使用缓冲提高效率 15 FileReader fr = new FileReader(source);16 BufferedReader br = new BufferedReader(fr);17 18 File destination = new File(String destinationName);19 FileWriter fw = new FileWriter(destination);20 BufferedWriter bw = new BufferedWriter(fw);21 22 while ( ! eof) {23 intChar = br.read();24 if (intChar != - 1 ) {25 bw.writer(( char )intChar);26 } else {27 eof = true ;28 } 29 } 30 31 bw.flush();32 br.close();33 bw.close();34 35 // 以上的方式指示对基于字符的文件有作用,如果换成DOC文件拷贝以后就全是乱码36 // 所以下面会介绍如何通过给予字节流的方法完整的复制源文件37 /* *以下是基于字节流的文件拷贝,可以兼容字符文件的拷贝,例如拷贝 */ boolean eof = false ; // 文件是否读取完毕 int intChar = 0 ; // 文件是否已经读到尾 // 文件输入流 File source = new File(String sourceName); FileInputStream fis = new FileInputStream(source); BufferedInputStream bis = new BufferedInputStream(fis); // 文件输出流 File destination = new File(String destinationName); FileOutputStream fos = new FileOutputStream(destination); BufferedOutputStream bos = new BufferedOutputStream(fos); do { intChar = bis.read(); if (intChar != - 1 ) { bos.writer(intChar); } else { eof = true ; } } while ( ! eof); bis.flush(); bos.close(); bis.close(); 说一点自己的看法,如果你能java得io这些基本的常识都需要去问别人,你最好还是别选择编程这个行业,有些东西别人可以告诉你,但如果连一些最基本最底层的东西自己都不好好搞明白,你以后也不可能有太大的发展! 跨脚本攻击漏洞 dom4j解析xml生成html Struts2标签如何写在<td>的title中呢? jsp 判断空值输出字符串~在线 JSP 如何实现显示 Excel文件??? 如何使Html代码无效 关于乱码的问题 简单问题! 在线等候nullpointExecpion JSP分页! 高分求救:遍历一路径下的文件及目录,并返回页面生成一棵树。 el表达式问题
br.readln()可以从文件中读出一行字符。
br.read()可以读出一个字符。详细的情况,请自己查API吧。
FileOutputStream
BufferedOutputStream FileInputStream
BufferedInputStream // 而以下两组是基于字符流的处理效率会更高一些
FileReader
BufferedReader
InputStreamReader
FileWriter
BufferedWriter
OutputStreamWriter
1 下面这个例子是拷贝一个文件到另外一个文件,文件的形式有两种一种是基于字符型的如:txt文档,或java文档。
2 而另一种是基于非字符的,而是用字节处理起来更方便。
3
4 /*
5 *以下这段代码是拷贝一个txt文档到另一个位置
6 */
7
8 boolean eof = false ;
9 int intChar = 0 ;
10
11 // 获得对源文件到的连接
12 File source = new FileSource(String sourceName);
13
14 // 让输入流与文件关联起来,同时使用缓冲提高效率
15 FileReader fr = new FileReader(source);
16 BufferedReader br = new BufferedReader(fr);
17
18 File destination = new File(String destinationName);
19 FileWriter fw = new FileWriter(destination);
20 BufferedWriter bw = new BufferedWriter(fw);
21
22 while ( ! eof) {
23 intChar = br.read();
24 if (intChar != - 1 ) {
25 bw.writer(( char )intChar);
26 } else {
27 eof = true ;
28 }
29 }
30
31 bw.flush();
32 br.close();
33 bw.close();
34
35 // 以上的方式指示对基于字符的文件有作用,如果换成DOC文件拷贝以后就全是乱码
36 // 所以下面会介绍如何通过给予字节流的方法完整的复制源文件
37 /*
*以下是基于字节流的文件拷贝,可以兼容字符文件的拷贝,例如拷贝
*/
boolean eof = false ; // 文件是否读取完毕
int intChar = 0 ; // 文件是否已经读到尾 // 文件输入流
File source = new File(String sourceName);
FileInputStream fis = new FileInputStream(source);
BufferedInputStream bis = new BufferedInputStream(fis); // 文件输出流
File destination = new File(String destinationName);
FileOutputStream fos = new FileOutputStream(destination);
BufferedOutputStream bos = new BufferedOutputStream(fos); do {
intChar = bis.read();
if (intChar != - 1 ) {
bos.writer(intChar);
} else {
eof = true ;
}
} while ( ! eof);
bis.flush();
bos.close();
bis.close();