标签: outputstream

为什么此代码返回“不支持指定的方法”。

为什么此代码返回“不支持指定的方法”。

using System;
using System.IO;
using System.Security.Cryptography;
using System.Web.Mvc;

public class ETagAttribute : ActionFilterAttribute
{
    private string GetToken(Stream stream) {
        MD5 md5 = MD5.Create();
        byte [] checksum = md5.ComputeHash(stream);
        return Convert.ToBase64String(checksum, 0, checksum.Length);
    }

    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        filterContext.HttpContext.Response.AppendHeader("ETag", GetToken(filterContext.HttpContext.Response.OutputStream));
        base.OnResultExecuted(filterContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该有效,但不是。

显然微软覆盖了 System.Web.HttpResponseStream.Read(Byte[] buffer, Int32 offset, Int32 count) 以便它返回“不支持指定的方法。”,不知道为什么他们会这样做,因为它继承了系统。 IO.Stream 基类...

堆栈跟踪

[NotSupportedException: Specified method is not supported.]
   System.Web.HttpResponseStream.Read(Byte[] buffer, Int32 offset, Int32 count) +29
   ETagAttribute.ReadFully(Stream input) in Filters\ETagAttribute.cs:11
   ETagAttribute.GetToken(Stream stream) in Filters\ETagAttribute.cs:22
   ETagAttribute.OnResultExecuted(ResultExecutedContext …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc md5 outputstream action-filter

5
推荐指数
1
解决办法
5178
查看次数

我是否需要处理或忽略OutputStream close()函数触发的IOException?

在下面的代码中,outPutStream的close函数抛出了我应该捕获的IOException异常.我的问题是我需要处理吗?由于我正在使用移动设备,我想确保释放我使用的所有资源,或者我可以安全地忽略该异常.

//...
OutputStream output = null;
try {
     output = connection.getOutputStream();
     output.write(query.getBytes(charset));
} finally {
     if (output != null) try { 
        output.close(); 
     } catch (IOException e) {
        // Do i need to do something here ?
     }
}
Run Code Online (Sandbox Code Playgroud)

java io outputstream

5
推荐指数
1
解决办法
1911
查看次数

使用 Java 发送零数据 TCP/IP 数据包

我的目标是发送一个带有空数据字段的 TCP 数据包,以便用远程机器测试套接字。

我正在使用 OutputStream 类的 write(byte[] b) 方法。我的尝试:

outClient = ClientSocket.getOutputStream();
outClient.write(("").getBytes());
Run Code Online (Sandbox Code Playgroud)

这样做,数据包永远不会出现在线路上。如果 "" 被 " " 或任何非零字符串替换,它工作正常。

我尝试了 jpcap,它对我有用,但没有达到我的目标。我想扩展 OutputStream 类,并实现我自己的 OutputStream.write 方法。但这超出了我的知识范围。如果有人已经做过这样的事情,请给我建议。

java sockets tcp outputstream

5
推荐指数
1
解决办法
3943
查看次数

如何将数组写入内部存储上的文本文件?

我需要将一些数据作为文本文件存储在内部存储器上.例如下面,我有一个按钮,我想在每次单击按钮时将一些数据保存在文本文件中.我正在测试一个例子:

http://developer.android.com/training/basics/data-storage/files.html

import java.io.FileOutputStream;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {
    Button b;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        b = (Button) findViewById(R.id.button1);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        String filename = "myfile";
        String string = …
Run Code Online (Sandbox Code Playgroud)

android text store outputstream file

5
推荐指数
1
解决办法
1万
查看次数

Java HttpUrlConnection实际发送的字节的状态

我为URLConnections的基本GET和POST请求实现了一个WebRequest类.

其中一个功能是提交文件 - 现在我想计算并显示上传文件的进度 - 但我不知道如何做到这一点:

    for (KeyFilePair p : files) {
        if (p.file != null && p.file.exists()) {
            output.writeBytes("--" + boundary + "\n");
            output.writeBytes("Content-Disposition: form-data; name=\""
                    + p.key + "\"; filename=\"" + p.file.getName() + "\"\n");
            output.writeBytes("Content-Type: " + p.mimetype
                    + "; charset=UTF-8\n");
            output.writeBytes("\n");

            InputStream is = null;
            try {
                long max = p.file.length();
                long cur = 0;
                is = new FileInputStream(p.file);
                int read = 0;
                byte buff[] = new byte[1024];
                while ((read = is.read(buff, 0, buff.length)) > 0) { …
Run Code Online (Sandbox Code Playgroud)

java upload outputstream status httpurlconnection

5
推荐指数
1
解决办法
1664
查看次数

Android Java 将 Audiorecord / Audiotrack 保存到文件

如果用户按下开始按钮,我有一个短代码可以将录制的音频实时传输到扬声器。在他按下停止按钮后,缓冲的音频应该保存在一个 mp3 文件中。该文件已创建,但它是空的。如果我尝试播放文件,我听不到任何声音。

public class MainActivity extends Activity {
    boolean m_stop = true;
    AudioTrack m_audioTrack;
    Thread m_noiseThread;
    static final int bufferSize = 200000;
    AudioRecord arec;
    FileOutputStream os = null;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void onStartStopClicked(View v)
    {
        Button StartButton = (Button)findViewById(R.id.StartStop);
        if(m_stop) {
            start(); 
        } else {
            stop();
        }   
    }
    Runnable m_noiseGenerator = new Runnable()
    {       
        public void run()
        {
            String filepath = Environment.getExternalStorageDirectory().toString();
            os = new FileOutputStream(filepath + "/test.mp3");

            int buffersize1 = AudioRecord.getMinBufferSize(11025, …
Run Code Online (Sandbox Code Playgroud)

android outputstream audiorecord audiotrack

5
推荐指数
0
解决办法
966
查看次数

Java Process getOutputStream to String

Java 8在这里.如何将数据读Process#getOutputStream()入String?我试图从Java内部运行一个进程并挂钩/捕获它的STDOUT.

Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("consul -v");
String capturedOutput;

OutputStream os = proc.getOutputStream();
capturedOutput = howDoIConvert(os);  // <---- ???
Run Code Online (Sandbox Code Playgroud)

在这里寻找确切的代码(不是模糊的东西baos.toString(codepage).也感兴趣,如果我需要close()礼貌的任何东西.

java stdout outputstream

5
推荐指数
1
解决办法
5532
查看次数

在Java中将String写入OutputStream的最佳方法

我有一个OutputStream返回的实例HttpURLConnection.我需要在流中写一个UTF-8字符串.

我有两种方式:

  1. 使用OutputStream自己

    // write String
    os.write("some utf8 text".getBytes(Charsets.UTF_8));
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用OutputStreamWriter包装器

    // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, CharsetUtils.UTF_8));
    
    OutputStreamWriter osw = new OutputStreamWriter(os, CharsetUtils.UTF_8);
    osw.write("some utf8 text");
    
    Run Code Online (Sandbox Code Playgroud)

:为什么要使用OutputStreamWriterOutputStream写字符串?

谢谢!

java io text outputstream utf-8

5
推荐指数
1
解决办法
8867
查看次数

SimpleClientHttpRequestFactory中的outputStreaming有什么用?

我正在使用OAuth2RestTemplatespring-security-oauth2-2.1.1.RELEASE休息客户服务。理想情况下,每当访问令牌过期时,模板应通过获取新的访问令牌来重试失败的请求。但有时,当访问令牌在发布请求上过期时,模板会退出并出现以下错误:

org.springframework.web.client.ResourceAccessException:“REQUEST-URL”的 POST 请求上的 I/O 错误:由于服务器身份验证,在流模式下无法重试;嵌套异常是 java.net.HttpRetryException: 由于服务器身份验证无法重试,在流模式下

搜索后,我知道这种行为是由于outputStreaming变量 of造成的SimpleClientHttpRequestFactory,默认情况下设置为 true。我试图将此变量设置为 false 并且一切正常。但是我不知道如果将outputStreaming变量设置为 false会发生什么。所以我试图理解它的目的,它帮助我决定是否应该继续禁用outputStreaming.

提前致谢!

java spring outputstream spring-security-oauth2 spring-web

5
推荐指数
0
解决办法
442
查看次数

关闭 AutoCloseable 的正确方法

关闭一个当什么是最可靠的模式可供遵循OutputStreamServerSocket或其他对象实现的AutoCloseable接口?

我应该使用try- catch-finally吗?或者关闭钩子。

java resources outputstream serversocket

5
推荐指数
1
解决办法
3371
查看次数