小编Ten*_*enG的帖子

Java java.io.IOException:不是GZIP格式

我搜索了一个如何在Java中压缩字符串的示例。

我有一个压缩然后解压缩的功能。压缩似乎可以正常工作:

   public static String encStage1(String str)
   {
      String format1 = "ISO-8859-1";
      String format2 = "UTF-8";
      if (str == null || str.length() == 0)
      {
         return str;
      }
      System.out.println("String length : " + str.length());
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      String outStr = null;
      try
      {
         GZIPOutputStream gzip = new GZIPOutputStream(out);
         gzip.write(str.getBytes());
         gzip.close();
         outStr = out.toString(format2);
         System.out.println("Output String lenght : " + outStr.length());
      } catch (Exception e)
      {
                  e.printStackTrace();

      }
      return outStr;
   }
Run Code Online (Sandbox Code Playgroud)

但是相反的是,即使我将encStage1的返回结果直接传递回decStage3,也抱怨该字符串不是GZIP格式:

   public static String decStage3(String str)
   {
      if …
Run Code Online (Sandbox Code Playgroud)

java gzipinputstream

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

使用 QNetworkAccessManager 的 Qt 控制台应用程序

我正在尝试编写一个Qt调用 Web 服务的应用程序。这是一个控制台应用程序,url 将作为命令行参数传入。我搜索了示例http程序Qt并找到了这个链接:

http://qt-project.org/doc/qt-5/qnetworkaccessmanager.html

这里有以下代码示例:

QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
        this, SLOT(replyFinished(QNetworkReply*)));

manager->get(QNetworkRequest(QUrl("http://qt-project.org")));
Run Code Online (Sandbox Code Playgroud)

现在,如果我把它粘贴到我的控制台应用程序中main,我显然会收到构建错误,因为this它不存在。我得到:

invalid use of 'this' in non-member function
Run Code Online (Sandbox Code Playgroud)

QNetworkAccessManager非 GUI/控制台类型的应用程序是否有等价物?

c++ qt qnetworkaccessmanager

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

在C#中引用表单对象以避免重复代码块

我试过这个,但我的问题可能是我不知道描述问题的正确术语.

我有一个C#表单,有许多文本框对象.

在某些情况下,我按顺序处理每个文本框的内容,如下所示:

tbxStressCmd1.BackColor = Color.Salmon;
processCmd(tbxStressCmd1.Text);
System.Threading.Thread.Sleep( tbxStressWait1.text );
tbxStressCmd1.BackColor = Color.White;

tbxStressCmd2.BackColor = Color.Salmon;
processCmd(tbxStressCmd2.Text);
System.Threading.Thread.Sleep( tbxStressWait2.text );
tbxStressCmd1.BackColor = Color.White;
.
tbxStressCmd9.BackColor = Color.Salmon;
processCmd(tbxStressCmd9.Text);
System.Threading.Thread.Sleep( tbxStressWait9.text );
tbxStressCmd9.BackColor = Color.White;
Run Code Online (Sandbox Code Playgroud)

我想避免重复,并有类似的东西:

// Pseudo Code
runCmd ( object tbxCmd, object tbxWait )
{
   tbxCmd.BackColor = Color.Salmon;
   processCmd(tbxCmd.Text);
   System.Threading.Thread.Sleep( tbxWait.text );
   tbxCmd.BackColor = Color.White;
}
Run Code Online (Sandbox Code Playgroud)

然后:

runCmd( tbxStressCmd1, tbxStressWait1 );
.
.
runCmd( tbxStressCmd9, tbxStressWait9 );
Run Code Online (Sandbox Code Playgroud)

引用文本框对象的正确方法是什么,以便它们可以传递给函数并在上面的伪代码中使用?

c# object-reference

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