stream类型,applicationoctetstream是什么文件类型

1,applicationoctetstream是什么文件类型application/octet-stream意思是八进制文件更新,是火狐的更新文件,可以下也可以不下,无关紧要 , 这次没有下载,下次它还会提示你的,没关系 。浏览器检测文件类型,有两种响应:第一种是mime(多功能internet 邮件扩充服务 , 最早用于邮件系统,后来拓展到浏览器中);另一种,当浏览器无法确定文件类型时 , 就是application/octet-stream类型 。
2,java中的File类FileOutputStream类DataOutputStream类有什么关系DataOutputStream 是数据流,比FileOutputStream 高一个等级,一般 先 使用FileOutputStream 封装,然后才能以DataOutputStream(流的形式)传输到硬盘里 ,  这部分主要是程序与硬盘的交互,你想把数据写入文件,就必须以流的形式才能传到硬盘 , 否则,文件往哪里存呢?file主要是针对对文件的操作,你说的后两个主要是对流的操作不一样的~file类主要是包含:创建文件,删除文件 , 更新文件,创建文件路径名等很多~建议产看api文档 , 如果没有,我可以发给你~file主要是针对对文件的操作,你说的后两个主要是对流的操作不一样的~ file类主要是包含:创建文件 , 删除文件,更新文件,创建文件路径名等很多~建议产看api文档 , 如果没有,我可以发给你~
3,C中的stream在C里有相同的类型吗FileStream:使用文件作为后备设备 。BufferedStream:使用缓冲区作为后备设备,用来增强性能的中间存储 。MemoryStream:使用内存作为后备存储 , 执行I/O速度快 。NetworkStream:没有后备设备,用于在网络上传输数据 。我的基本原则有如下几点:1、下面都是针对32位系统的,所以int是32位.long也是32位;2、各种句柄类的(h开头) , 我认为一律是system.intptr,到目前为止没发现出错;如果哪位在使用中出错,请指出;3、lp和p,我实在不懂(对c 不太了解),对于lp和p开头的函数,如果是和str有关的,一律写为system.string , 像plcid这样指向什么东西的,写为system.uint32(因为指向另一个地址,那就是指针,指针是32位吧),int之类的数值型,那我就写为int[],以方便.net程序引用(写成system.uint32的话,给api调用应该也不会出错,但.net程序就不好引用了)如有意见,欢迎指教 。谢谢【stream类型,applicationoctetstream是什么文件类型】
4,sstream和fstream是什么意思呀C++程序把输入和输出看作字符流 , 输入时,程序从输入流中提取字节,输出时,程序把字节插入到输出流中 。对于输入输出流既可以来自标准输入输出设备,也可以来自文件 , 甚至可以来自String对象,三者分别属于iostream family、fstream family、sstream family 。对于iostream类,就是我们通常所说的标准流 , 它把程序跟标准I/O连接在一起,输入来自键盘 , 输出送往监视器 。对于fstream类,它把程序跟文件关联起来,输入来自文件,输出到文件 。对于sstream类 , 它是提供程序和string对象之间的I/O,可通过ostringstream sout和istringstream sin来声明两个对象,分别对应输出流和输入流,这给编程带来极大的方便 , 例如可以从文本文件中读取一批数字字符到string对象中,再把string对象作为程序的输入流,既可把从文件中读取来的数字字符单个进行读取,从而进行处理 。例如: string line; int word; ifstream fin("test.txt"); while(getline(fin,line)) // {istringstream sin(line); //输入流重定向到string对象while(sin>>word) //在string对象中读取数字 { ...... //处理} } 当然了,输出也是一样的道理 。5,Java 中有几种类型的流1:按照流的方向(参考点永远是自己的程序)分:输入流(InputStream):只能向其中读取数据的流.输出流(OutputStream):只能向其中写出数据的流.注意:输入流和输出流本身都是抽象类,不能直接实例化,如果想操作对象,则必须实例化这些类的子类对象.2:按照数据的传输单位分:字节流:以字节为单位传输数据的流.字符流:以字符为单位传输的数据的流.3:按照功能分:节点(低级)流:直接对目标设备进行操作的流.处理(高级)流:对节点流进行连接和封装,生成功能更加强大的流 。在java中,最基础的流类有哪些?字节流:InputStream:只能读取字节数据的流.OutputStream:只能写出字节数据的流.字符流:Reader:只能读取字符数据的流.Writer:只能写出字符数据的流.按照实现功能分:节点流(可以从或向一个特定的地方(节点)读写数据 。如 FileReader)和处理流(是对一个已存在的流的连接和封装 , 通过所封装的流的功能调用实现数据读写 。如 BufferedReader 。处理流的构造方法总是要带一个其他的流对象做参数 。一个流对象经过其他流的多次包装,称为流的链接 。)传智播客的公开课有Java各种流的讲解 。官网找一下视频库 , 找不到对话框问一下 。很详细,看视频学的比较容易在java.io包中还有许多其他的流,主要是为了提高性能和使用方便 。c/c++只能提供字节流 。java中的流分为两种,一种是字节流 , 另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):inputstream,outputstream,reader,writer 。java中其他多种多样变化的流均是由它们派生出来的.字符流和字节流是根据处理数据的不同来区分的 。字节流按照8位传输,字节流是最基本的,所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘 。1.字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;2. 字节流提供了处理任何类型的io操作的功能,但它不能直接处理unicode字符,而字符流就可以 。读文本的时候用字符流,例如txt文件 。读非文本文件的时候用字节流,例如mp3 。理论上任何文件都能够用字节流读取,但当读取的是文本数据时 , 为了能还原成文本你必须再经过一个转换的工序,相对来说字符流就省了这个麻烦,可以有方法直接读取 。字符流处理的单元为2个字节的unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组 。所以字符流是由java虚拟机将字节转化为2个字节的unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!1.字节流:继承于inputstream \ outputstream 。outputstream提供的方法:void write(int b):写入一个字节的数据void write(byte[] buffer):将数组buffer的数据写入流void write(byte[] buffer,int offset,int len):从buffer[offset]开始 , 写入len个字节的数据void flush():强制将buffer内的数据写入流void close():关闭流inputstream提供的方法:int read():读出一个字节的数据,如果已达文件的末端,返回值为-1int read(byte[] buffer):读出buffer大小的数据,返回值为实际所读出的字节数int read(byte[] buffer,int offset,int len)int available():返回流内可供读取的字节数目long skip(long n):跳过n个字节的数据,返回值为实际所跳过的数据数void close():关闭流2.字符流 , 继承于inputstreamreader \ outputstreamwriter 。字符流的类:1) , bufferedreader是一种过滤器(filter)(extends filterreader) 。过滤器用来将流的数据加以处理再输出 。构造函数为: bufferedreader(reader in):生成一个缓冲的字符输入流,in为一个读取器 bufferedreader(reader in,int size):生成一个缓冲的字符输入流,并指定缓冲区的大小为sizepublic class iostreamdemopublic void samples() throws ioexceptionbufferedreader stdin =new bufferedreader(new inputstreamreader(system.in));system.out.print("enter a line:");system.out.println(stdin.readline());//2. 这是从文件中逐行读入数据bufferedreader in = new bufferedreader(new filereader("iostreamdemo.java"));string s, s2 = new string();while((s = in.readline())!= null)s2 += s + "\n";in.close();//3. 这是从一个字符串中逐个读入字节stringreader in1 = new stringreader(s2);int c;while((c = in1.read()) != -1)system.out.print((char)c);//4. 这是将一个字符串写入文件trybufferedreader in2 = new bufferedreader(new stringreader(s2));printwriter out1 = new printwriter(new bufferedwriter(new filewriter("iodemo.out")));int linecount = 1;while((s = in2.readline()) != null )out1.println(linecount++ + ": " + s);out1.close();} catch(eofexception e)system.err.println("end of stream");}} }对于上面的例子,需要说明的有以下几点:1. inputstreamreader是inputstream和reader之间的桥梁,由于system.in是字节流,需要用它来包装之后变为字符流供给bufferedreader使用 。3. printwriter out1 = new printwriter(new bufferedwriter(new filewriter("iodemo.out")));这句话体现了java输入输出系统的一个特点,为了达到某个目的,需要包装好几层 。首先 , 输出目的地是文件iodemo.out,所以最内层包装的是filewriter,建立一个输出文件流,接下来 , 我们希望这个流是缓冲的,所以用bufferedwriter来包装它以达到目的,最后,我们需要格式化输出结果,于是将printwriter包在最外层 。java流有着另一个重要的用途,那就是利用对象流对对象进行序列化 。在一个程序运行的时候,其中的变量数据是保存在内存中的,一旦程序结束这些数据将不会被保存,一种解决的办法是将数据写入文件,而java中提供了一种机制,它可以将程序中的对象写入文件,之后再从文件中把对象读出来重新建立 。这就是所谓的对象序列化 。java中引入它主要是为了rmi(remote method invocation)和java bean所用,不过在平时应用中,它也是很有用的一种技术 。

    推荐阅读