字节流和字符流读取文件
package io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
public class ReadFile {
public static void main(String[] args) {
/** 读取字符流文件,并且把此文件复制到本地磁盘 */
String fromPath = "f://每日任务.txt";
String toPath = "f://1.txt";
ReadFile.readAndWriteTxt(fromPath, toPath);
/** 读取字节流文件,并且把此文件复制到本地磁盘 */
// String fromPath = "f://3.gif";
// String toPath = "f://1.gif";
// ReadFile.readAndWriteImg(fromPath, toPath);
}
/**
* FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
*
* @param fromPath
* @param toPath
*/
public static void readAndWriteImg(String fromPath, String toPath) {
File file = new File(fromPath);
try {
FileInputStream is = new FileInputStream(file);
FileOutputStream os = new FileOutputStream(toPath);
byte[] b = new byte[1024];
while (is.read(b) != -1) {
os.write(b);
}
os.close();
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream。
*
* @param fromPath
* @param toPath
*/
public static void readAndWriteTxt(String fromPath, String toPath) {
File file = new File(fromPath);
try {
FileReader ir = new FileReader(file);
BufferedReader br = new BufferedReader(ir);
FileWriter ow = new FileWriter(toPath);
BufferedWriter bw=new BufferedWriter(ow);
char[] b = new char[1024];
while (ir.read(b) != -1) {
ow.write(b);
}
ow.close();
ir.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 把文本内容输出到控制台和页面,这个是在jsp页面上调用的方法
*/
public static String getTxt(HttpServletRequest request) {
String fromPath = "f://每日任务.txt";
StringBuffer sb=new StringBuffer();
File file = new File(fromPath);
try {
FileReader ir = new FileReader(file);
BufferedReader br = new BufferedReader(ir);
String output;
while((output=br.readLine())!=null){
sb.append(output+"\n");
System.out.println(output);
}
ir.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
}
jsp页面调用getTxt()
pageEncoding="UTF-8"%>
Insert title hereString content = ReadFile.getTxt(request);
%>