javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

从流创建Zip文件并下载我

我有一个DataTable,我想将其转换为xml,然后使用DotNetZip将其压缩。 最终用户可以通过Asp.Net网页下载它。我的代码在下面

    dt.TableName = "Declaration";

    MemoryStream stream = new MemoryStream();
    dt.WriteXml(stream);

    ZipFile zipFile = new ZipFile();
    zipFile.AddEntry("Report.xml", "", stream);
    Response.ClearContent();
    Response.ClearHeaders();
    Response.AppendHeader("content-disposition", "attachment; filename=Report.zip");

    zipFile.Save(Response.OutputStream);
    //Response.Write(zipstream);
    zipFile.Dispose();

zip文件中的xml文件为空。

trans by 2020-07-11T14:49:55Z

C#-StandardOutput.ReadToEnd()挂起

这个问题已经在这里有了答案:

  • ProcessStartInfo挂在“ WaitForExit”上吗? 为什么? 21个答案

我有一个经常使用外部程序并读取其输出的程序。使用您通常的进程重定向输出,它可以很好地工作,但是由于某些原因,当我尝试读取它时,一个特定的参数挂起,没有错误消息-也不例外,到达该行时它只是“停止”。我当然使用集中式函数来调用和读取程序的输出,这是这样的:

public string ADBShell(string adbInput)
{
    try
    {
        //Create Empty values
        string result = string.Empty;
        string error = string.Empty;
        string output = string.Empty;
        System.Diagnostics.ProcessStartInfo procStartInfo 
            = new System.Diagnostics.ProcessStartInfo(toolPath + "adb.exe");

        procStartInfo.Arguments = adbInput;
        procStartInfo.RedirectStandardOutput = true;
        procStartInfo.RedirectStandardError = true;
        procStartInfo.UseShellExecute = false;
        procStartInfo.CreateNoWindow = true;
        procStartInfo.WorkingDirectory = toolPath;
        System.Diagnostics.Process proc = new System.Diagnostics.Process();
        proc.StartInfo = procStartInfo;
        proc.Start();
        // Get the output into a string
        proc.WaitForExit();
        result = proc.StandardOutput.ReadToEnd();
        error = proc.StandardError.ReadToEnd();  //Some ADB outputs use this
        if (result.Length > 1)
        {
            output += result;
        }
        if (error.Length > 1)
        {
            output += error;
        }
        Return output;
    }
    catch (Exception objException)
    {
        throw objException;
    }
}

挂起的行是result = proc.StandardOutput.ReadToEnd();,但同样,并非每次,仅在发送特定参数(“启动服务器”)时才会发生。 其他所有参数都可以正常工作-读取并返回值。它的挂起方式也很奇怪。 它不会冻结或发出任何错误,它只是停止处理。 就像是一个“返回”命令一样,除了它甚至没有返回到调用函数之外,它只是在界面仍处于运行状态时停止所有操作。有人经历过吗? 有人知道我应该尝试什么吗? 我假设它在流本身中是意外的,但是有没有办法我可以处理/忽略它以便它仍然可以读取它?

trans by 2020-07-09T22:09:38Z

C#中出现错误“此流不支持查找操作”

我正在尝试使用byte流从URL获取图像。 但我收到此错误消息:

此流不支持查找操作。

这是我的代码:

byte[] b;
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
WebResponse myResp = myReq.GetResponse();

Stream stream = myResp.GetResponseStream();
int i;
using (BinaryReader br = new BinaryReader(stream))
{
    i = (int)(stream.Length);
    b = br.ReadBytes(i); // (500000);
}
myResp.Close();
return b;

我在做错人吗?

trans by 2020-06-26T03:57:07Z

python-二进制流中的open和io.BytesIO之间的区别

我正在学习在Python中使用流的知识,并且我注意到IO文档说以下内容:

创建二进制流的最简单方法是使用open()在模式字符串中使用'b':

f

内存中的二进制流也可以作为BytesIO对象使用:

f

openBytesIO定义的fBytesIO定义的f有什么区别。换句话说,什么是“内存二进制流”,它与open有什么不同?

trans by 2020-02-18T13:20:16Z

输入-Android-将输入流存储在fi中

我正在从URL检索XML提要,然后对其进行解析。 我还需要将其存储在手机内部,以便在没有互联网连接时可以解析已保存的选项,而不是实时选项。

我面临的问题是我可以创建url对象,使用getInputStream来获取内容,但不会让我保存它。

URL url = null;
InputStream inputStreamReader = null;
XmlPullParser xpp = null;

url = new URL("http://*********");
inputStreamReader = getInputStream(url);

ObjectOutput out = new ObjectOutputStream(new FileOutputStream(new File(getCacheDir(),"")+"cacheFileAppeal.srl"));

//--------------------------------------------------------
//This line is where it is erroring.
//--------------------------------------------------------
out.writeObject( inputStreamReader );
//--------------------------------------------------------
out.close();

关于如何保存输入流的任何想法,以便以后可以加载。

干杯

trans by 2020-02-16T02:48:35Z

日志记录-我应该将消息记录到stderr还是stdout?

我有一个正在编写的程序,希望为此编写一个自定义的日志记录功能(例如诊断,通知,警告,错误)。

我应该使用stdout还是stderr流来执行此操作? 它是一种解释器,用户可以要求它打印输出。

编辑:请停止向我推荐日志记录框架:(

trans by 2020-02-14T18:47:52Z

java-为什么Files.lines(和类似的Streams)没有自动关闭?

Stream的Javadoc状态:

流具有BaseStream.close()方法并实现AutoCloseable,但是实际上几乎所有流实例在使用后实际上都不需要关闭。 通常,只有源是IO通道的流(例如,由Files.lines(Path,Charset)返回的流)才需要关闭。 大多数流都由集合,数组或生成函数支持,而无需特殊的资源管理。 (如果流确实需要关闭,则可以在try-with-resources语句中将其声明为资源。)

因此,绝大多数情况下,人们可以像Files.lines那样使用单行流,但是对于Files.lines和其他资源支持的流,则必须使用try-with-resources语句,否则会泄漏资源。

这使我感到容易出错且不必要。 由于Streams只能被迭代一次,因此在我看来,没有这样的情况,即Files.lines的输出不应在被迭代后立即关闭,因此实现应仅在任何终端的末尾隐式调用close。 操作。 我错了吗?

trans by 2020-02-14T11:35:31Z

java-在流中搜索字符串的有效方法

假设有一个文本流(或Java中的Reader),我想检查一个特定的字符串。 文本流可能非常大,因此,一旦找到搜索字符串,我想返回true,并且还尝试避免将整个输入存储在内存中。

天真的,我可能会尝试执行以下操作(在Java中):

public boolean streamContainsString(Reader reader, String searchString) throws IOException {
    char[] buffer = new char[1024];
    int numCharsRead;
    while((numCharsRead = reader.read(buffer)) > 0) {
        if ((new String(buffer, 0, numCharsRead)).indexOf(searchString) >= 0)
            return true;
    }
    return false;
}

当然,如果它出现在1k缓冲区的边界上,则无法检测到给定的搜索字符串:

搜索文本:“ stackoverflow”
流缓冲区1:“ abc .........堆栈”
流缓冲区2:“溢出....... xyz”

如何修改此代码,以便它可以跨缓冲区边界正确找到给定的搜索字符串,而又不会将整个流加载到内存中?

编辑:请注意,在流中搜索字符串时,我们试图最小化从流中读取的次数(以避免网络/磁盘中的延迟),并使内存使用率保持恒定,而不管流中的数据量如何。 字符串匹配算法的实际效率是次要的,但是显然,找到使用这些算法中效率更高的一种的解决方案将是一个不错的选择。

trans by 2020-02-08T03:00:54Z

stream-Node.js中的Streams3是什么,它与Streams2有何不同?

我经常听说Streams2和旧流,但是Streams3是什么? 托尔斯滕·洛伦兹(Thorsten Lorenz)在本次演讲中提到了这一点。

我在哪里可以读到它,Streams2和Streams3有什么区别。

在Google上进行搜索时,我还看到它在Node 0.11.5的Changelog中提到,

流:简化流式,被动数据侦听(流3)(isaacs)

trans by 2020-02-04T10:20:26Z

CodeGo.net>写StringBuilder流

将StringBuilder写入System.IO.Stream的最佳方法是什么?

我目前正在做:

StringBuilder message = new StringBuilder("All your base");
message.Append(" are belong to us");

System.IO.MemoryStream stream = new System.IO.MemoryStream();
System.Text.ASCIIEncoding encoding = new ASCIIEncoding();
stream.Write(encoder.GetBytes(message.ToString()), 0, message.Length);
trans by 2020-02-02T18:29:57Z

流中的用例

在Scala中,有一个Stream类,非常类似于迭代器。 Scala中的迭代器与流之间的区别是什么? 提供了有关两者之间异同的一些见解。

看到如何使用流非常简单,但是我没有很多常见的用例来使用流而不是其他工件。

我现在的想法是:

  • 如果需要使用无限级数。 但这对我来说似乎并不常见,因此不符合我的标准。 (如果这很常见,请纠正我,我只是一个盲点)
  • 如果您有一系列数据需要计算每个元素,但是您可能需要重用几次。 这是很弱的,因为我可以将其加载到一个列表中,从概念上讲,该列表在开发人员中占很大比例。
  • 也许有大量的数据集或计算量很大的序列,并且很有可能您需要的项目不需要访问所有元素。 但是在这种情况下,除非您需要进行多次搜索,否则Iterator将是一个很好的匹配,在这种情况下,即使效率较低,您也可以使用列表。
  • 有一系列复杂的数据需要重用。 同样,这里可以使用列表。 尽管在这种情况下,两种情况都将同样难以使用,并且Stream会更适合,因为并非所有元素都需要加载。 但是还是不那么普遍...是吗?

那我错过了任何大用途吗? 还是大多数情况下是开发人员的偏爱?

谢谢

trans by 2020-02-02T01:41:01Z

tcp-WebSocket框架中的掩码是什么?

我正在研究websocket的实现,不知道框架中的遮罩含义是什么。

有人可以解释一下它的作用以及为什么推荐它吗?

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-------+-+-------------+-------------------------------+
 |F|R|R|R| opcode|M| Payload len |    Extended payload length    |
 |I|S|S|S|  (4)  |A|     (7)     |             (16/64)           |
 |N|V|V|V|       |S|             |   (if payload len==126/127)   |
 | |1|2|3|       |K|             |                               |
 +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
 |     Extended payload length continued, if payload len == 127  |
 + - - - - - - - - - - - - - - - +-------------------------------+
 |                               |Masking-key, if MASK set to 1  |
 +-------------------------------+-------------------------------+
 | Masking-key (continued)       |          Payload Data         |
 +-------------------------------- - - - - - - - - - - - - - - - +
 :                     Payload Data continued ...                :
 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
 |                     Payload Data continued ...                |
 +---------------------------------------------------------------+
trans by 2020-01-29T17:49:16Z

首页> C#>如何创建一个System.IO.Stream流的实例

如何创建System.IO.Stream stream的实例。我的函数之一收到System.IO.Stream stream作为参数,并向其中写入一些内容。 那么,如何创建相同的新实例并将其传递给函数呢?

trans by 2020-01-20T07:54:43Z

类型-为什么C ++流使用char而不是unsigned char?

我一直想知道为什么C ++ Standard库使用char类型而不是unsigned char类型实例化basic_stream及其所有变体。 char意味着(取决于它是否已签名)您可能会对诸如get()之类的操作产生上溢和下溢,这将导致所涉及变量的实现定义值。 另一个示例是当您想使用其put函数将未格式化的字节输出到ostream时。

有任何想法吗?


注意:我仍然不太确定。 因此,如果您知道确切的答案,则仍然可以发布。

trans by 2020-01-13T19:07:55Z

在J中关闭流

为什么在离开程序之前无论如何都需要关闭FileInputStream(通常是流)? 否则会发生什么? 如果程序在输入流在程序中显式关闭之前停止,该流也不会自动关闭吗?

trans by 2020-01-13T03:06:41Z

.net-流作为WCF中的返回值-谁处理它?

假设我有以下WCF实现:

public Stream Download(string path)
{
    FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read);
    return stream;
}

谁负责处理返回的值? 毕竟,可能会发生网络故障,因此使用者可能无法处理它。

trans by 2020-01-08T18:15:44Z

http-我可以在没有内容长度标题的情况下将文件上传到S3吗?

我正在使用内存有限的机器上工作,我想以流方式将动态生成的(非磁盘)文件上传到S3。 换句话说,开始上传时我不知道文件大小,但是最后我会知道。 通常,PUT请求具有Content-Length标头,但也许可以解决此问题,例如使用多部分或分块的内容类型。

S3可以支持流式上传。 例如,在这里:

[http://blog.odonnell.nu/posts/streaming-uploads-s3-python-and-poster/]

我的问题是,在上传开始时无需指定文件长度就能完成相同的事情吗?

trans by 2020-01-05T12:01:22Z

CodeGo.net>流对象的ReadAllLines?

存在File.ReadAllLines,但没有Stream.ReadAllLines

using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Test_Resources.Resources.Accounts.txt"))
using (StreamReader reader = new StreamReader(stream))
{
    // Would prefer string[] result = reader.ReadAllLines();
    string result = reader.ReadToEnd();
}

是否存在执行此操作的方法,还是必须逐行手动遍历文件?

trans by 2019-12-23T21:37:48Z

C ++自定义流操纵器,可更改流中的下一项

在C ++中,要打印十六进制数字,请执行以下操作:

int num = 10;
std::cout << std::hex << num; // => 'a'

我知道我可以创建一个仅向流中添加内容的操纵器,如下所示:

std::ostream& windows_feed(std::ostream& out)
{
    out << "\r\n";
    return out;
}

std::cout << "Hello" << windows_feed; // => "Hello\r\n"

但是,如何创建一个类似于“ hex”的操纵器来修改要出现在流中的项目? 作为一个简单的示例,我将如何在此处创建plusone机械手?:

int num2 = 1;
std::cout << "1 + 1 = " << plusone << num2; // => "1 + 1 = 2"

// note that the value stored in num2 does not change, just its display above.
std::cout << num2; // => "1"
trans by 2019-11-18T21:33:04Z

java-如何将Process Builder的输出重定向到字符串?

我正在使用以下代码来启动流程构建器。我想知道如何将其输出重定向到字符串。

ProcessBuilder pb = new ProcessBuilder(System.getProperty("user.dir")+"/src/generate_list.sh", filename);
Process p = pb.start();

我尝试使用ByteArrayOutputStream,但似乎没有用。

trans by 2019-11-08T14:52:45Z

1 2 3 4 下一页 共4页