百度
360搜索
搜狗搜索

outputstream转inputstream,java中如果用outputstream多次写,用inputStream进行读,只有第一次写的全部读到后面的就没了,怎么解决详细介绍

本文目录一览: Java 中.ZipOutputStream 转成 ZipInputStream 文件流.!

FileInputStream in = new FileInputStream(new File("C:\\TestZip.zip")); // 读取文件内容
ZipInputStream zipInputStream = new ZipInputStream(in);
zipInputStream.getNextEntry(); //取得下一个entry
while ((b = zipInputStream.read()) != -1) { //读
System.out.println(b);
}
从来只有 input 再 output.
如果你非要 output 再 input,也不是很难。
1, output to TestZip.zip
2, input from TestZip.zip
这样也是可以的。
后话:写代码学习或加深也就算了,实际应用中,没多大意义。

java能把输出流转换成输入流吗?如果能怎么转,谢谢!

你这表达的,输出流有很多种类都是输出流,建议你直接说把什么类转换成什么类,更清晰明了。
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] bs = new byte[] { 1, 2, 3, 4, 5 };
out.write(bs);

ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
byte[] bs1= new byte[1024];
int len = in.read(bs1);
for (int i = 0; i < len; i++) {
System.out.println(bs[i]);
}

ByteArrayOutputStream到inputstream丢失数据

可能是因为String以及char都是Unicode的编码方式。

java怎么把文件转换成inputstream

基于流(Stream)的解决
流是单向的有方向性的描述信息流的对象,InputStream是输入流的接口,对程序来说是入,是读,可以从文件读,缓存区读,网络节点读等等.
写入文件,对程序来说是出,是写,就是FileOutputStream,可以写入int也可以byte[]
所以解决方案就是从InputStream中读出内存到byte[]中然后,使用FileOutputStream写入文件中.比如:其中一种写法
InputStream is = new FileInputStream("a.txt");
FileOutputStream fos = new FileOutputStream("b.txt");
byte[] b = new byte[1024];
while((is.read(b)) != -1){
fos.write(b);
}
is.close();
fos.close();

android 怎么使用sputils

byteArr与hexString互转 bytes2HexString、hexString2Bytes
charArr与byteArr互转 chars2Bytes、bytes2Chars
字节数与unit为单位的size互转 byte2Size、size2Byte
字节数转合适大小 byte2FitSize
inputStream与outputStream互转 input2OutputStream、output2InputStream
inputStream与byteArr互转 inputStream2Bytes、bytes2InputStream
outputStream与byteArr互转 outputStream2Bytes、bytes2OutputStream
inputStream与string按编码互转 inp

java中如果用outputstream多次写,用inputStream进行读,只有第一次写的全部读到后面的就没了,怎么解决

package textcut; import java.io.*; //修改文件中指定行的内容 public class TxtCut { private File textFile; private BufferedWriter out; private int num = 3; //要修改的行 public TxtCut() { textFile = new File("e:/text.txt");// 指定源文件路径 try { //存储路径 如果不存回原文件 路径名可改为"e:/***.txt" out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File( "e:/text.txt")))); cut(textFile,num); out.close(); System.out.print("操作完成!"); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // 读取文件内容并作适当修改 public void cut(File file,int n) { try { BufferedReader in = new BufferedReader(new InputStreamReader( new FileInputStream(file))); String str = in.readLine(); while(str!=null){ if(--n==0) out.write("Thank you!"+"\r\n"); else out.write(str + "\r\n"); str = in.readLine(); } in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new TxtCut(); } }

数据操作流DataOutputStream和DataInputStream的使用

在io包中,提供了两个与平台无关的数据操作流:
数据输出流(DataOutputStream)
数据输入流 (DataInputStream)
通常数据输出流会按照一定的格式将数据输出,再通过数据输入流按照一定的格式将数据读入。
例如:有如下的订单数据
如果要想使用数据操作流,则肯定要由用户自己制定数据的保存格式,必须按指定好的格式保存数据,才可以使用数据输入流将数据读取进来。
DataOutputStream:DataOutputStream是OutputStream的子类,此类的定义如下:
public class DataOutputStream extends FilterOutputStream implements DataOutput
此类继承自FilterOutputStream类(FilterOutputStream是OutputStream的子类)同时实现了DataOutput接口,在DataOutput接口中定义了一系列的写入各种数据的方法。writeXxx()
要想使用DataOutputStream写入数据的话,则必须指定好数据的输出格式。
数据的写入格式:
以上每条数据之间使用"\n"分隔,每条数据中的每个内容之间使用"\t"分隔。如下图所示:
[java] view plain copy

使用DataOutputStream写入的数据要使用DataInputStream读取进来。
[java] view plain copy

5.2f 表示的是 总共的数字长度为5位,其中2位表示小数,3位表示整数。

java串口通讯 为什么我先用OutputStream流向串口发送数据成功后,用InputStream流读不到数据

要稍等一下,串口是占用的端口
代码贴出来看看吧
1、首先确保你发送的数据是正确的,串口接收到这个数据后他能识别,并返回你想要的数据,如果你发送的命令本身不要求返回数据,inputstream是读取不到数据的。
2、其次,要确保发送数据的格式正确,比如一段16进制数据,你定义为String="01230545"类型,然后发送的时候out.write(str.getBytes());这样发送的数据是不对的,应该定义一个byte型的数组,然后发送这个数组
3、以上你都确保没问题了,你可以用循环去读取数据,当读到的内容大于0时停止读取。用循环读取你要确保你已经设置读取的超时时间了,不然程序有可能阻塞。

阅读更多 >>>  linux命令.编辑器与shell编程

hssfworkbook对象 转换成InputStream发送到服务器

ByteArrayOutputStream os = new ByteArrayOutputStream();
wb.write(os);
ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
//上传到oss服务器
ossUtils.upload("你的key",is);

网站数据信息

"outputstream转inputstream,java中如果用outputstream多次写,用inputStream进行读,只有第一次写的全部读到后面的就没了,怎么解决"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:outputstream转inputstream,java中如果用outputstream多次写,用inputStream进行读,只有第一次写的全部读到后面的就没了,怎么解决的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!