小编F4k*_*k3d的帖子

在byte []中创建内存中的zip文件.Zip文件总是被破坏了

我的创建的zip文件有问题.我正在使用Java 7.我尝试用字节数组创建一个zip文件,其中包含两个或多个Excel文件.应用程序完成,无任何例外.所以,我认为一切都很好.在我尝试打开zip文件后,Windows 7出现了一条错误消息,即zip文件可能已损坏.我无法打开它,我不知道为什么......!我搜索了这个问题,但我发现的代码片段看起来与我的实现完全相同.

这是我的代码:

if (repsList.size() > 1)
{
  String today = DateUtilities.convertDateToString(new Date(), "dd_MM_yyyy");
  String prefix = "recs_" + today;
  String suffix = ".zip";
  ByteArrayOutputStream baos = null;
  ZipOutputStream zos = null;
  try
  {
    baos = new ByteArrayOutputStream();
    zos = new ZipOutputStream(baos);

    for (RepBean rep : repsList)
    {
      String filename = rep.getFilename();
      ZipEntry entry = new ZipEntry(filename);
      entry.setSize(rep.getContent().length);
      zos.putNextEntry(entry);
      zos.write(rep.getContent());
      zos.closeEntry();
    }
    // this is the zip file as byte[]
    reportContent = baos.toByteArray();

  }
  catch (UnsupportedEncodingException e)
  {
    ... …
Run Code Online (Sandbox Code Playgroud)

java zip

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

如何在 Spring Boot 中创建工作 TCP 服务器套接字以及如何处理传入消息?

我试图在现有的 Spring Boot 应用程序中实现一个带有 Spring 集成的 TCP 服务器套接字,但是我遇到了一个问题,这个问题让我发疯......客户端正在向服务器发送一条消息(一个字节数组),并且超时。就是这样。我没有从服务器收到任何异常。看来我提供了错误的端口或其他东西,但检查端口后,我确信它是正确的。

这是我基于注释的配置类:

import home.brew.server.socket.ServerSocketHandler;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.config.EnableIntegration;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
import org.springframework.integration.ip.dsl.Tcp;

@Log4j2
@Configuration
@EnableIntegration
public class TcpServerSocketConfiguration {

    @Value("${socket.port}")
    private int serverSocketPort;

    @Bean
    public IntegrationFlow server(ServerSocketHandler serverSocketHandler) {
        TcpServerConnectionFactorySpec connectionFactory = 
            Tcp.netServer(socketPort) 
              .deserializer(new CustomSerializerDeserializer())
              .serializer(new CustomSerializerDeserializer())
              .soTcpNoDelay(true);

        TcpInboundGatewaySpec inboundGateway = 
           Tcp.inboundGateway(connectionFactory);

        return IntegrationFlows
         .from(inboundGateway)
         .handle(serverSocketHandler::handleMessage)
         .get();
    }

    @Bean
    public ServerSocketHandler serverSocketHandler() {
        return new ServerSocketHandler();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在尝试发送答案之前使接收功能正常工作,所以这就是为什么要进行最小配置。

下面的类应该处理从服务器套接字接收到的消息

import lombok.extern.log4j.Log4j2;
import org.springframework.messaging.Message;
import …
Run Code Online (Sandbox Code Playgroud)

java tcp serversocket spring-integration spring-boot

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

如何修复 Extjs 4.2 中的表头

我想在我的 ExtJs 4.2 应用程序中修复我的表格/网格标题,以便在滚动时标题始终可见。我的应用程序中的主网格有一个固定的标题,并按照本文底部的代码实现。它不起作用,我不知道为什么......我用 split 属性尝试过它,但它也不起作用...... :(

这是代码:

function openThePopup() {
var win = new Ext.Window({
    modal : true,
    height : 500,
    width : 900,
    plain : true,
    border : false,
    resizable : false,
    maximizable : false,
    draggable : true,
    closable : true,
    closeAction : 'destroy',
    title : 'Title',
    autoScroll : true,
    buttonAlign : 'center',
    items : [ {
        xtype : 'grid',
        id : 'theGrid',
        store : theStore,
        border : 0,
        layout : 'fit',
        margins : '5 0 0 0', …
Run Code Online (Sandbox Code Playgroud)

grid header fixed extjs4.2

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

是否可以在下载完成之前禁用按钮?

我正在尝试解决以下问题,但找不到合适的解决方案:

下载开始时禁用按钮(带有底层下载链接)(按钮已单击一次)并在下载完成后再次启用按钮?

我试图用谷歌搜索它,但甚至找不到有用的提示。这在一般情况下甚至可能吗?

extjs spring-mvc extjs4

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

如何根据条件动态更改上下文菜单中的名称

我正在为jQuery使用此contextmenu插件:

http://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html

我试图通过一个简单的条件动态地更改菜单项的名称。不幸的是,无法动态更改菜单项的名称,或者我不知道该如何更改...

我这样尝试过:

   items: {
           "item": {name: (x > 10) ? 'name1' : 'name2', disabled: false},
           "sep1": "----------------",
           ....
   }
Run Code Online (Sandbox Code Playgroud)

但它不起作用。然后我尝试使用匿名函数:

 items: {
         "item": {name: function(){ return (x > 10) ? 'name1' : 'name2'; }, disabled: false},
         "sep1": "----------------",
         ....
 }
Run Code Online (Sandbox Code Playgroud)

但是效果不佳...现在我没有其他线索了,所以我要向您寻求帮助。您对我有有用的建议吗?任何帮助表示赞赏。

提前致谢。

jquery contextmenu

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

单击提交按钮时,使用jquery/AJAX提交表单无效

我正在尝试使用jquery/AJAX提交表单,但是当我点击提交按钮时,我的函数永远不会被调用.

我的网站看起来像这样:CarMenu.php

<html lang="en">
<html>
<head>
   <meta charset="ISO-8859-1">
   <title>ArsenalAutoBrokers - Backend - add car</title>
   <link rel="stylesheet" href="../js/jquery-ui-1.11.4/jquery-ui.min.css"     type="text/css"/>
   <link rel="stylesheet" href="../js/jquery-ui-1.11.4/jquery-ui.css" type="text/css"/>
   <link rel="stylesheet" href="../js/jquery-ui-1.11.4/jquery-ui.theme.css" type="text/css"/>
   <link rel="stylesheet" href="../js/jquery-ui-1.11.4/jquery-ui.structure.css" type="text/css"/>
   <link rel="stylesheet" href="../css/carForm.css" type="text/css"/>
   <script charset="UTF8" src="../js/jquery/jquery-1.11.3.js"></script>
   <script charset="UTF8" src="../js/jquery-ui- 1.11.4/external/jquery/jquery.js"></script>
   <script charset="UTF8" src="../js/jquery-ui-1.11.4/jquery-ui.js"></script>
   <script charset="UTF8" src="../js/app/carForm.js"></script>
   <script charset="UTF8" src="../js/app/addCar.js"></script>
</head>
<body>
   <div id="container">
      <div id="leftMenuContainer">
         <ul id="menu">
            <li id="addCarItem">Add car</li>
            <li id="saveCarItem">Edit cars</li>
         </ul> 
      </div>
      <div id="rightMainContent">

      </div>
      <div class="clear"></div>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在那个页面上,我使用的是jquery菜单,我将数据加载到id为'rightMainContent'的div中.

执行此操作的JavaScript代码如下:carForm.js

$(document).ready(function () {
   $( …
Run Code Online (Sandbox Code Playgroud)

html php ajax jquery form-submit

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

你有测试来显示反应器 map() 和 flatMap() 之间的差异吗?

我仍在尝试了解 reactor map() 和 flatMap() 方法之间的区别。首先我查看了 API,但它并没有真正的帮助,它让我更加困惑。然后我用谷歌搜索了很多,但似乎没有人有一个例子来使差异变得可以理解,如果有任何差异的话。

因此,我尝试编写两个测试来查看每种方法的不同行为。但不幸的是它并没有像我希望的那样工作......

第一个测试方法是测试反应式 flatMap() 方法:

@Test
void fluxFlatMapTest() {
    Flux.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
            .window(2)
            .flatMap(fluxOfInts -> fluxOfInts.map(this::processNumber).subscribeOn(Schedulers.parallel()))
            .doOnNext(System.out::println)
            .subscribe();
}
Run Code Online (Sandbox Code Playgroud)

输出符合预期,可解释,如下所示:

9 - parallel-2
1 - parallel-1
4 - parallel-1
25 - parallel-3
36 - parallel-3
49 - parallel-4
64 - parallel-4
81 - parallel-5
100 - parallel-5
16 - parallel-2
Run Code Online (Sandbox Code Playgroud)

第二种方法应该测试 map() 方法的输出,以与 flatMap() 方法的上述结果进行比较。

@Test
void fluxMapTest() {
    final int start = 1;
    final int stop …
Run Code Online (Sandbox Code Playgroud)

java reactive-programming spring-boot spring-webflux

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