java怎么把文件转换为字符流

java怎么把文件转换为字符流,第1张

import java.io.*

public class Test {

public static void main(String[] args) {

File f = new File("D:/workspace/FileForTest.txt")

Reader r = null

try {

r = new FileReader(f)

}catch(FileNotFoundException e) {

e.printStackTrace()

}

try {

int b = 0

while((b=r.read())!=-1) {

System.out.print((char)b)

}

}catch(IOException e) {

e.printStackTrace()

}

try {

r.close()

}catch(IOException e) {

e.printStackTrace()

}

}

}

可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到流每行的内容。

BufferedReader bre = null

try {

String file = "D:/test/test.txt"

bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流

while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环

{

System.out.println(str)//原样输出读到的内容

};

备注: 上面的bre就是提问者需要的流。流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。

方法1:专门写个函数把数据从数据库中读出,作为文件形(如test.jpg)式保存在硬盘上,然后在html中显示<img src="test.jpg"/

----------------------------------------------------------------------

方法2:写一个servlet

public class GetPhotoAction extends Action {

private static final String CONTENT_TYPE = "image/gifcharset=GBK"//输出类型为 图像

public ActionForward execute(ActionMapping actionMapping,

ActionForm actionForm,

HttpServletRequest request,

HttpServletResponse response) {

int empid

try {

empid = Integer.parseInt(request.getParameter("empid"))//员工id

} catch (NumberFormatException e) {

empid = 0

}

response.setContentType(CONTENT_TYPE)//设置输出类型

OutputStream out = null

try {

out = response.getOutputStream()//得到输出流

} catch (IOException ex1) {

ex1.printStackTrace(System.out)

}

try {

byte[] photo = Operator.getDBPhoto(empid)//从数据库中读出文件

if (photo!=null &&photo.length >0) {

out.write(photo)//输出到网页上

}

} catch (Exception ex) {

ex.printStackTrace(System.out)

}

return null

}

}

我是在struct中写的,如果你用的是jsp+servlet,把Action改成Servlet即可.

由于CONTENT_TYPE = "image/gifcharset=GBK",所以你直接在浏览器中访问这个servlet的话只能看到一张大的图片,就算写了out.write("aaaaaaaaa"),也不会看到字符输出,所以你只能在jsp中调用这个servlet

<img src="getPhotoAction.do?empid=123"alt="照片" width="185" height="218">


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11835297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存