一、File类

import java.io.*;public class NumberFormatDmeo{    public static void main(String[] args)throws Exception{        File f=new File("f:"+File.separator+"test.txt");//没有该文件的话会自动创造        OutputStream out=new FileOutputStream(f);//输出        String str="Hello World!!!";        byte[] b=str.getBytes();   //把str的内容保存到byte[]数组中        for(int i=0;iout.write(b[i]);    //用OutputStream把byte[]的内容输出。        }    }}

二、字节流的输入输出
InputStream:字节流的输入(把文件从外面输入到程序)
OutputStream:字节流的输出(从程序输出到外面的文件)
三、字符流的输出输入
字符输入流:Writer
字符输入流:Reader
四、字符流字节流相互的转换
OutputStreamWriter 字符流–>字节流
InputStreamReader 字符流–>字节流

五、运用例子:
1.文件(图片为例子)上传
jsp页面代码:

"form1" action="add/submitQuestion" method="post" enctype="multipart/form-data"> type="file" name="files" value=""/> type="file" name="files" value=""/> type="file" name="files" value=""/>

后台Controller层代码:

@RequestMapping("/add/submitQuestion")public String submitQuestion(@RequestParam("files") CommonsMultipartFile[] files) throws Exception{        String picUrl = "";        for(int i=0;iif(!"".equals( files[i].getOriginalFilename() )){                      //拿到上传文件的输入流                    InputStream in=(InputStream)files[i].getInputStream();                    String fileName =files[i].getOriginalFilename();                    //获取图片最后三位                    String subStr = fileName.substring(fileName.length() -3, fileName.length());                    //把输入流转换为二进制                    byte[] b = submit.toByte(in);                    ....代码未完,关键代码已经列出。

还可参考:完整的代码参考
2.图片显示
页面直接用标签
jsp页面:

<img src="/showPic?info_files='+arr[i]+'"/>

后台代码:

@RequestMapping("/showPic")public void showPic(@RequestParam("info_files") String info_files,HttpServletRequest request,HttpServletResponse response) throws Exception{        if(info_files != null && !"".equals(info_files)){            .....            //获取图片输入流,一定要获取输入流InputStream后放到byte[]数组使用OutputStream输出            List list =  pic.showPic(info_files);            for(int i=0;i"image/*");                ServletOutputStream os=response.getOutputStream();                int count = 0;                byte[] buffer = new byte[fis.available()];                while ( (count = fis.read(buffer)) != -1 ){                     os.write(buffer, 0, count);                     os.flush();                    }                os.flush();                os.close();            }                                   }

更多相关文章

  1. ionic 自动编译android的release版本
  2. Android(安卓)EditText输入内容时挤压上面的activity的解决办法
  3. android 进入页面隐藏输入法
  4. Android(安卓)软键盘问题总结
  5. Android4.0 设置系统默认输入法
  6. eclipse中在线升级adt遇到问题
  7. Android(安卓)AlertDialog有EditText无法弹出输入法的解决
  8. android 进制转换 (高低位)
  9. 2011.09.26——— android sample之Notepad(notepadprovider)

随机推荐

  1. Android――动画专题研究
  2. Android消息处理机制
  3. layout_weight体验(实现按比例显示)
  4. 聊聊Android(安卓)M 6.0 的运行时权限
  5. Android给view或者布局添加水波纹点击效
  6. Android(安卓)保存 JNI 层 opencv cvMat
  7. Ubuntu上编译Android过程
  8. ANDROID Porting系列九、Lights
  9. XML中的命名空间问题
  10. Android内核编译