关键问题不是读文件,而是存byte
<%
//变量声明
java.lang.String strFileName; //文件名
java.io.File objFile; //文件对象
java.io.FileReader objFileReader; //读文件对象
java.io.DataInputStream in;
java.io.FileInputStream fInputStream;
java.io.BufferedInputStream bInputStream;
sun.misc.BASE64Encoder baseEncoder; //字符转换对象
byte[] bytBuffer = new byte[20000];
StringBuffer strBuffer = new StringBuffer(10);
int intLength; //实际读出的字符数(一个中文为一个字符) //设置待读文件名
strFileName = "d:\\CD.JPG"; //创建文件对象
objFile = new java.io.File(strFileName);
fInputStream = new java.io.FileInputStream(strFileName);
bInputStream = new java.io.BufferedInputStream(fInputStream);
//判断文件是否存在
if(objFile.exists()){//文件存在
//读文件内容
in = new java.io.DataInputStream(bInputStream);
for(int i = 0;in.available() != 0;i++) {
bytBuffer[i] = in.readByte();
}
System.out.print("OK");
}
else{//文件不存在
out.println("下列文件不存在:"+strFileName);
}
%>
<%
//变量声明
java.lang.String strFileName; //文件名
java.io.File objFile; //文件对象
java.io.FileReader objFileReader; //读文件对象
java.io.DataInputStream in;
java.io.FileInputStream fInputStream;
java.io.BufferedInputStream bInputStream;
sun.misc.BASE64Encoder baseEncoder; //字符转换对象
byte[] bytBuffer = new byte[20000];
StringBuffer strBuffer = new StringBuffer(10);
int intLength; //实际读出的字符数(一个中文为一个字符) //设置待读文件名
strFileName = "d:\\CD.JPG"; //创建文件对象
objFile = new java.io.File(strFileName);
fInputStream = new java.io.FileInputStream(strFileName);
bInputStream = new java.io.BufferedInputStream(fInputStream);
//判断文件是否存在
if(objFile.exists()){//文件存在
//读文件内容
in = new java.io.DataInputStream(bInputStream);
for(int i = 0;in.available() != 0;i++) {
bytBuffer[i] = in.readByte();
}
System.out.print("OK");
}
else{//文件不存在
out.println("下列文件不存在:"+strFileName);
}
%>
——那就动态分配空间啊,先获取文件大小,再new出数组空间