相关文章推荐
憨厚的墨镜  ·  Qt ...·  1 年前    · 
怕老婆的四季豆  ·  mysql ...·  1 年前    · 
慷慨大方的野马  ·  Tutorial: Create an ...·  1 年前    · 
想用FileInputStream从服务器上读取文件,然后通过ServletOutputStream输出,
这里有一个前提是:通过InputSteam中available方法返回的字节数小于1024,所以写如下的代码是可以正常工作的:
但是之前也写了一段代码,如下:
在客户端去获取字节的时候总是出现读取超时,开始百思不得其解,最后,比较一下两端代码,明白了:
文件的长度小于1024,第二段代码中将会出现有一部分字节空余,这样在通过ServletOutputStream传输的时候会出错。
结论:在使用InputStream和OutputStream的read(byte[])和write(byte[])处理字节流时,最好确保数组每次都读满。
由这个结论联想到另外一个问题:读取文件的内容,将其打印出来,在网上看
想用FileInputStream从服务器上读取文件,然后通过ServletOutputStream输出,这里有一个前提是:通过InputSteam中available方法返回的字节数小于1024,所以写如下的代码是可以正常工作的:FileInputStream fis = new FileInputStream("fileName");ServletOutputStream sos import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.... 流对象说白了就是一堆进制码,并不支持和文件的直接换,因为流本身并不知道文件的类型 实现思路: 先使用File创建出一个对应的文件,指定好类型,把流对象输入文件中,判断为-1则表示输入完成 @Test public void test01() throws Exception{ InputStream Input = //获取
servlet中用outputStream输出数据以及中文数据的问题 今天学习了servlet中比较重要的一个知识点,在servlet中用reponse对象的outputStream输出数据以及中文数据的问题。 首先,在servlet中向浏览器写数据(ps:其实这样说并不明确,准确点是想response中写数据,浏览器发现reposonse中有数据,就会读出来),向浏览器中输出数据:1.
处理二进制字节流:outputstream,inputstream 是接口, FileOutPutStream,FileInputStream实现上述接口 BufferedInputStream,BufferedOutPutStream采用了装饰者模式,传入FileOutPutStream,FileInputStream作为参数 DataInputStream,DataOutPutStre... import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Set; * 二、写出... import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLDecoder; import java.net.URLEncoder;
FileInputStream-> ByteArrayOutputStream-> FileOutputStream //设置读取路径 String filenameUrl = FILEUPLOAD_PATH+"yys"+".jpg"; //创建文件输入流 ,读取信息 FileInputStream fis=null; try { fis = new FileIn...