• Java流的理解


    最近做了一下Socket编程,其中有socket.getInputStream和socket.getOutputStream的问题。

    想传输文件,感觉应该用FileInputStream和FileOutputStream。但是他们的构造函数是这样的:

      

      FileOutputStream fos = new FileOutputStream("e:\o.txt",true);
       FileInputStream fis = new FileInputStream("e:\o.txt");

    实际上,流中设定的文件名的含义是  从这个文件中取,或向这个文件中写  的意思。

    所以,socket.getInputStream获得的流可以从中读取东西。

        socket.getOutputStream获得的流可以往里面些东西。

    先举个例子:

    //先将byte b[]的数值存入e:/o.txt,再读取o.txt显示出来。
    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;
    public class E_FileOutputStream1 { /** * @param args */ public static void main(String[] args) { byte b [] = {49,50,97,98}; try { FileOutputStream fos = new FileOutputStream("e:\o.txt",true); FileInputStream fis = new FileInputStream("e:\o.txt"); for(int i = 0; i<b.length ; i++) fos.write(b[i]); int c = fis.read(); while(c != -1){ System.out.println(c); c = fis.read(); } fos.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } } }

    所以两个socket进行文件传输的话,可以这样实现:

  • 相关阅读:
    windows2003 如何配置ASP网站
    如何在asp.net中获取GridView隐藏列的值?
    GridView.RowCommand 事件中获取当前行的信息
    模块导入导出
    API / DOM
    HTTP(搁置)
    npm
    链接(跳转)<routerlink> 和 路由实例Router
    elementui
    vuex
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/filechuanshu.html
Copyright © 2020-2023  润新知