`

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进行文件传输的话,可以这样实现:

 

分享到:
评论

相关推荐

    java实现流媒体播放

    最后,Java流媒体播放程序应具备良好的错误处理机制,如网络中断后的恢复、媒体文件格式不支持时的提示等。同时,考虑到不同的操作系统和硬件环境,程序还需要考虑跨平台的兼容性。 总的来说,Java 实现流媒体播放...

    Java中的那些“流”之JAVA基础知识之我的理解8

    本文将深入探讨Java中的“流”以及与之相关的基础知识,结合博客文章《Java中的那些“流”之JAVA基础知识之我的理解8》的内容进行详细阐述。 首先,我们需要了解什么是流。在Java中,流可以被看作是一组有序的数据...

    java 视频流读写

    这个实例可以帮助开发者更好地理解和应用JMF进行多媒体处理,特别是对于需要在Java应用中处理视频流的场景,具有很高的参考价值。 需要注意的是,JMF在某些方面可能已经过时,因为它的支持和更新已经停止。现代的...

    基于Java的流媒体视频直播服务器设计与实现

    本项目聚焦于“基于Java的流媒体视频直播服务器设计与实现”,这涉及到多个IT领域的知识,包括音视频处理、服务器架构、Java编程以及运维等。 首先,我们要理解流媒体的概念。流媒体是指在互联网上传输的连续多媒体...

    ACCP7.0使用Java理解程序逻辑教学PPT

    在ACCP7.0课程中,使用Java语言理解程序逻辑是一项重要的学习内容。这个教学PPT旨在帮助学生深入掌握编程的基础知识,特别是如何利用Java语言构建有效的程序逻辑。以下是基于这个主题的一些关键知识点: 1. **Java...

    Java-Io流,练习

    本练习旨在帮助初学者理解和掌握Java IO流的基础知识。 一、IO流的概念 IO流在Java中分为两大类:输入流(Input Stream)和输出流(Output Stream)。输入流用于从源(如文件、网络连接等)读取数据,而输出流则...

    Java工作流源码

    Java工作流源码是用于实现工作流自动化的一种编程资源,它可以帮助开发者构建高效、可扩展的企业级业务流程管理系统。在Java领域,工作流通常涉及到BPM(Business Process Management)技术,用于管理和优化组织内的...

    java socket 视频流转发socket

    Java Socket是Java编程语言中用于网络通信的核心API,它提供了低级别的、面向连接的、基于TCP/IP协议的网络通信能力。...学习和理解Java Socket对于构建分布式系统、网络应用以及进行视频流处理都是非常有价值的。

    实验9 Java输入输出流.doc

    Java输入输出流是Java编程中一个非常重要的概念,主要用于数据的读取和写入操作,包括文本文件和二进制文件。在实验9中,主要目的是理解和掌握I/O流的分类,以及如何进行文本和二进制文件的读写。 I/O流在Java中被...

    java实现工作流,有实例

    建议仔细阅读并实践文档中的例子,以便更好地理解和掌握Java实现工作流的方法。 总结来说,Java实现工作流涉及选择合适的框架,设计流程模型,通过API进行部署和控制,以及与业务逻辑的集成。通过深入学习和实践,...

    javaCV将socket获取的视频流推到流媒体(RTMP)服务器jar

    在这个场景中,JavaCV被用来从Socket接收视频流,然后将其推送到流媒体服务器,特别是使用RTMP协议的服务器。下面将详细介绍这个过程涉及的关键知识点。 1. **JavaCV**: JavaCV(Java Computer Vision)是一个开源...

    海康威视推流RTMP-java代码demo

    本篇文章将深入解析如何利用Java调用海康威视的摄像头,将RTSP(Real Time Streaming Protocol)流转换为RTMP(Real-Time Messaging Protocol)流,以便在互联网上进行直播或点播。 RTSP是一种网络协议,主要用于...

    java流IO思维导图

    java流IO超详细使用,包含:怎么理解流,输出输入流,6个重要的方法,架构体系,分类,java做压缩程序的代码等等。。。。

    Java实现字节流与图片的转化

    在Java编程中,字节流(Byte Stream)是处理数据的基本方式,特别是在处理二进制数据,如图片、音频或视频文件时。本教程将详细讲解如何使用Java实现字节流来转换和处理图片。 首先,我们需要理解字节流的概念。在...

    一站式学习Java网络编程 全面理解BIO:NIO:AIO1

    全面理解 Java 网络编程 - BIO、NIO、AIO 本课程旨在帮助学生全面理解 Java 网络编程中的 BIO、NIO、AIO 三剑客,掌握 RPC 编程的基础知识,并结合实战项目巩固所学。 一、网络编程三剑客 - BIO、NIO、AIO BIO...

    java工程中使用Activiti工作流技术

    在Java工程中使用Activiti工作流技术,我们可以实现复杂的业务流程自动化,从而提高效率和管理水平。首先,我们需要理解工作流的基本概念。工作流(Workflow)是指在计算机环境中自动化执行的业务过程,它涉及文档、...

    JAVA流比较两个TXT文件数据

    首先,我们需要理解什么是JAVA流。在Java中,流是一组有序的数据序列,可以是字节流或字符流,用于从源(如文件、网络连接等)读取数据或向目标(如磁盘、网络)写入数据。Java提供了丰富的流类,如InputStream、...

    最简约的java工作流源代码

    在这个“最简约的java工作流源代码”中,我们有机会深入理解如何在Java环境中实现基础的工作流功能。这个压缩包仅300多K,却包含了实现基本工作流所需的核心组件,非常适合初学者进行学习和实践。 首先,我们要了解...

    java版rtp视频流服务端

    在IT行业中,尤其是在多媒体通信和网络流媒体领域,Java版的RTP(Real-time Transport Protocol)视频流服务端是一个关键的组件。RTP是一种网络协议,主要用于实时传输音频、视频和其他时间敏感数据。本项目专注于在...

    java IO流精讲 JAVA IO流实例开发

    总之,Java IO流是Java编程中不可或缺的一部分,理解和熟练使用IO流能够帮助我们更高效地处理数据输入和输出。通过实际的开发案例,我们可以更好地掌握这些概念,并将其应用于实际项目中,提升代码的效率和质量。

Global site tag (gtag.js) - Google Analytics