Tag: stream

java.io.Buffer *流与普通流有何不同?

1)缓冲流如何在后台工作,它们与普通流有什么不同?使用它们的优点是什么? 2) DataInputStream也是基于字节的。 但它有readLine()方法。 这里有什么意义?

从XML元素内容中获取InputStream

我的servlet的doPost()接收一个HttpServletRequest,其ServletInputStream向我发送了一大堆用XML包装的uuencoded数据。 例如,有一个元素: largeChunkEncodedHere 我需要解码块并将其写入文件。 我想从块中获取一个InputStream,使用MimeUtility将其解码为流,并使用该流写入文件—我宁愿不将这个大块读入内存。 XML是平的; 也就是说,没有太多的嵌套。 我的第一个想法是使用SAX解析器,但我不知道如何切换到流来读取块。 谢谢你的想法。 格伦 编辑1:请注意JB Nizet在这篇文章中的悲观回答。 编辑2:我在下面肯定地回答了我自己的问题,并在下面将maximdim的答案标记为正确,即使它没有完全回答这个问题,它确实指引我使用StAX API和Woodstox。

C#相当于Java的DataOutputStream?

我已经对这个主题做了很多研究,我发现这个问题经常被问到,但是没有一个人能得到我正在寻找的答案,最常见的解决方案是使用随附的BinaryWriter类C#,但它似乎没有做它的工作。 对于我的服务器应用程序,我使用Netty作为基于Java的NIO网络库,它使用DataInput和DataOutput Streams。 我有一个在java中工作的客户端,但它仅用于测试目的,我现在正在将其转移到C#以将其放入我的游戏中。 这是基本格式的C#代码,只是试图让事情暂时起作用。 Client = new TcpClient (); try { Client.Connect (IPAddress.Parse (“127.0.0.1”), PORT); Stream = Client.GetStream(); ClientOutput = new BinaryWriter(Stream); ClientInput = new BinaryReader(Stream); ClientOutput.Write ((string) “UserIsBob”); ClientOutput.Write ((string) “MyPassLol”); ClientOutput.Flush(); } 现在,这看起来很好; 但这是问题,在使用时 DataInputStream.readUTF() 在Java服务器上,没有任何反应; 但是,如果我使用 DataOutputStream.writeUTF(String) 从Java客户端,服务器将完美地读取它并将其打印到控制台。 我真的不确定我做错了什么,但似乎没有太多关于它的信息。 我需要的function如下: WriteByte(字节) WriteBytes(字节[]) WriteUTF(字符串) WriteInt(INT) WriteLong(长) WriteFloat(浮点) WriteDouble(双) WriteBoolean(布尔) 根据我的理解,你可以通过类型转换在BinaryWriter类中完成所有这些操作, 但它似乎没有被Java DataInputStream拾取 […]

流式写Json

我在ArrayList有JsonObject 。 我需要将这些JsonObject添加到JsonArray并将其写入文件中。 我正在使用Gson ,下面是我的代码。 private void myWriter(List jsonObjectHolder, int number) throws IOException { System.out.println(“Starting to write the JSON File”); //Add everything into a JSONArray JsonArray jsonArrayNew = new JsonArray(); for(int i=0;i<jsonObjectHolder.size();i++) { //System.out.println("inside array: "+i); JsonObject o = jsonObjectHolder.get(i); System.out.println("inside array "+i+": "+o.get("title")); jsonArrayNew.add(jsonObjectHolder.get(i)); } System.out.println("Size: "+jsonArrayNew.size()); //Write it to the File File file= […]

Java 8 Stream – 为什么filter方法没有执行?

我正在学习使用java流过滤。 但过滤后的流不会打印任何内容。 我认为过滤方法没有被执行。 我的过滤代码如下: Stream.of(“d2”, “a2”, “b1”, “b3”, “c”) .filter(s -> { s.startsWith(“b”); System.out.println(“filter: ” + s); return true; }); 没有编译错误,也没有例外。 有什么建议吗?

将blob转换为图像流并将其分配给jLabel

我只是尝试将数据库中的blob字符串转换为字节数组,然后转换后转换为缓冲的图像,然后将其分配给标签这是我的代码 package ims.project; import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import javax.imageio.ImageIO; public class readingdata extends JFrame { readingdata() { JPanel pane = new JPanel(); JLabel label1 = new JLabel(“help”); JLabel label2 = new JLabel(“33”); pane.add(label1); pane.add(label2); setVisible(true); add(pane); try { Class.forName(“com.mysql.jdbc.Driver”); Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/ims1”, “root”, “root”); Statement st = con.createStatement(); […]

Java SAXParser – 保持InputStream打开

我有一个BufferedInputStream ,我想用SAXParser解析XML,然后再重复使用它(例如mark(int) & reset() )。 但是,此流在parse()方法中关闭。 有可能以某种方式告诉SAXParser让它保持开放状态吗? 最后一种方法是使用不可关闭的流包装此流。 谢谢。

如何将OutputStream传递给StreamingDataHandler?

我在JAX-WS中有一个Java Web服务,它从另一个方法返回一个OutputStream。 我似乎无法弄清楚如何将OutputStream流式传输到返回的DataHandler,而不是创建一个临时文件,写入它,然后再将它作为InputStream重新打开。 这是一个例子: @MTOM @WebService class Example { @WebMethod public @XmlMimeType(“application/octet-stream”) DataHandler service() { // Create a temporary file to write to File fTemp = File.createTempFile(“my”, “tmp”); OutputStream out = new FileOutputStream(fTemp); // Method takes an output stream and writes to it writeToOut(out); out.close(); // Create a data source and data handler based on […]

在Java中将StreamWriter转换为OutputStream?

我试图使用System.setOut将System.out重定向到一个String,它接受一个PrintStream。 有没有办法将StringWriter转换为Stream,以便我可以将它传递给setOut?

在给定Charset的情况下将InputStream转换为Stream

我希望将一个InputStream is转换为一个Stream stream给定一个Charset cs ,使得stream由is 。 此外,不应立即读取一行,而是仅在stream需要时才读取。