我正在编写一些节点代码,并使用jszip压缩和解压缩一些文件.我知道如何压缩,但无法弄清楚如何解压缩或解压缩.stackoverflow上有几个链接不起作用.有人有任何解决方案?以下是我的尝试
var fs = require('fs');
var JSZip = require('jszip');
var zipName = "C:/test.zip";
var unzip = "C:/unzip";
fs.readFile(zipName, function (err, data) {
if (err) throw err;
var zip = new JSZip();
zip.folder(unzip).load(data);
});
Run Code Online (Sandbox Code Playgroud) 我知道这有几个相关的帖子,但我有一些具体的问题,我希望我可以得到帮助.对不起,如果他们非常基本..
这是一个示例问题 - 非常简化,但是你得到了图片 - 我有几个对象,它们有一些共同的功能,例如制药公司的部门 - 神经病学,肿瘤学,感染等.他们都需要解析患者文档文件,并上传数据到数据库.当然,每个部门的数据性质略有不同.如果我使用逐个功能,我会
com.company.neurology
Neurology.java
NeurologyDocument.java
NeurologyDAO.java
com.company.infection
Infection.java
InfectionDocument.java
InfectionDAO.java
Run Code Online (Sandbox Code Playgroud)
等问题是我需要一个Document类需要扩展的抽象类,例如
AbstractDocument.java
public class AbstractDocument
{
public void validateDocument(){...}
public void readDocumentHeader(){...}
public void readDocumentFooter(){...}
...
}
Run Code Online (Sandbox Code Playgroud)
一些数据访问文件,例如
DBConnection.java
public class DBConnection
{
public void makeConnectionToDB() {... }
public void createCache() {... }
public void closeConnectionToDB() {... }
}
Run Code Online (Sandbox Code Playgroud)
一些错误类
ParseError.java, PatientNotFoundException etc.
Run Code Online (Sandbox Code Playgroud)
如果包是按功能,这些常见的类/接口在哪里?
我正在为 ES5.2 编写单元测试,但遇到了一些问题。我需要创建一个连接到本地节点以运行测试的客户端,所以我使用
esClient = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
Run Code Online (Sandbox Code Playgroud)
这会导致问题
java.lang.IllegalStateException: running tests but failed to invoke RandomizedContext#getRandom
Run Code Online (Sandbox Code Playgroud)
然后我在我的单元测试类上使用了一个注释作为
@RunWith(com.carrotsearch.randomizedtesting.RandomizedRunner.class)
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误
SEVERE: 2 threads leaked from TEST scope at {method_name}):
1) Thread[id=36, name={project_name}writer-thread-0, state=WAITING, group={project_name}-writer]
Run Code Online (Sandbox Code Playgroud)
并且单元测试抛出了错误
org.mockito.exceptions.misusing.WrongTypeOfReturnValue
Run Code Online (Sandbox Code Playgroud)
我尝试在单元测试类上使用如下注释
@ThreadLeakScope(ThreadLeakScope.Scope.NONE)
Run Code Online (Sandbox Code Playgroud)
这消除了一些错误消息,但代码中仍然存在并发问题。有谁知道如何处理这个?我应该使用一些明确的线程安全方法吗?
我正在尝试在 Tomcat 上部署 JAX-WS Web 服务。我正在 Eclipse 中生成战争。我在运行 Tomcat 时遇到的错误是 -
SEVERE: Exception sending context initialized event to listener instance of class
org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem:
Failed to import bean definitions from relative location [ws/ws-context.xml]
Offending resource: ServletContext resource [/WEB-INF/spring/application-context.xml];
nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: ...
nested exception is org.xml.sax.SAXParseException:
src-resolve: Cannot resolve the name 'cxf-beans:beanAttributes' to a(n) 'attribute group'
component.
Run Code Online (Sandbox Code Playgroud)
有问题的 xml 文件是
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://www.springframework.org/schema/context …Run Code Online (Sandbox Code Playgroud) 我有一个简单的单元测试
Map<String, String> spyMap = spy(Map.class);
spyMap.put("a", "A");
spyMap.put("b", "B");
InOrder inOrder = inOrder(spyMap);
inOrder.verify(spyMap).put(any(), any());
inOrder.verify(spyMap).put(any(), any());
Run Code Online (Sandbox Code Playgroud)
但这会引发错误。以下工作:
inOrder.verify(spyMap).put("a", "A");
inOrder.verify(spyMap).put("b", "B");
Run Code Online (Sandbox Code Playgroud)
所以我只能用精确的字符串匹配来测试?这对我来说似乎是有限的。我的测试方法实际上生成了一个随机字符串,所以我不知道究竟会插入到地图中。我尝试使用ArgumentCaptor方法,但这也不起作用。
Map<String, String> spyMap = spy(Map.class);
spyMap.put("a", "A");
spyMap.put("b", "B");
ArgumentCaptor<String> arg1 = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<String> arg2 = ArgumentCaptor.forClass(String.class);
verify(spyMap).put(arg1.capture(), arg2.capture());
Run Code Online (Sandbox Code Playgroud) 我的情况有点复杂,不知道如何处理。有一个带有私有变量映射的对象(该对象已被初始化)。这个类有一系列对地图的操作。
我需要编写一个单元测试。它将获取私有变量,模拟(或监视)它,对其执行一些操作,并验证操作的顺序。什么是最好的方法?
public class A{
private Map<String, String> map = new Map()<>;
public void method1(){
map.put("a", "A");
}
public void method2(){
if(map.size() > 0){
map.put("b", "B");
}
}
...
public class UnitTester{
@Test
public void test(){
A ainstance = new A();
Map<String,String> mock = mock(Map.class); //OR Map<String,String> mock = spy(Map.class);
Field f= A.class.getDeclaredField("map");
f.setAccessible(true);
f.set(ainstance, mock);
ainstance.method1();
ainstance.method2();
InOrder inOrder = inOrder(mock);
inOrder.verify(mock, times(2), put(anyString(), anyString())); //Does not work
}
Run Code Online (Sandbox Code Playgroud)
map.put不会在地图中添加任何内容。不确定这是因为它是反射对象还是有其他原因。
我正在尝试使用自定义预定义列表作为所需顺序对元组的第一个元素上的元组列表进行排序。所以我有名单
my_list=(['chr1',12],['chrX',32],['chr2',1],['chr1',79],['chr2',6])
Run Code Online (Sandbox Code Playgroud)
并且第一个元素上的预定义列表是
custom_list=['chr1','chr2','chrX']
Run Code Online (Sandbox Code Playgroud)
我希望输出是
(['chr1',12],['chr1',79],['chr2',1],['chr2',6],['chrX',32])
Run Code Online (Sandbox Code Playgroud)
(目前,不需要对第二个元素进行排序。)我不知道如何做到这一点。有人可以帮忙吗?
我有一个CSharp(.NET)应用程序,该应用程序在Excel中创建了一个带有功能区的加载项。我的功能区中有按钮。我希望能够单击按钮,然后打开WPF窗口。
代码看起来像
private void OnNewButtonAction(object sender, RibbonControlEventArgs e)
{
var window = new View.MyWindow()
{
DataContext = new ViewModel.MyViewModel(),
};
window.Show();
}
Run Code Online (Sandbox Code Playgroud)
其中MyWindow是System.Windows.Window类型的类。MyWindow有其自己的xaml文件,其中包含单选按钮,文本字段等。当我尝试运行此文件并单击按钮时,我得到了XML解析异常,因为“'在'System.Windows.StaticResourceExtension'上提供了值例外”。
是否可以从Excel加载项调用WPF Windows?我究竟做错了什么?
编辑:我已经看过在Office解决方案中 使用WPF控件,它不起作用。并且它向excel添加了一个单独的窗格,这不是我正在查看的窗格。
我正在尝试编写一个试图匹配特定字符串的正则表达式,但忽略目标字符串中的所有数字 - 所以我的正则表达式可能是“MyDog”,但它应该匹配 MyDog,以及 My11Dog 和 MyDog1 等。我可以写一些类似的东西
M[^\d]*y[^\d]D[^\d]*o[^\d]g[^\d]*
Run Code Online (Sandbox Code Playgroud)
但这非常痛苦。有什么想法吗?我正在使用 Java,无法更改字符串中的内容,因为我需要按原样检索它。
我正在通过Java开发ES5,并尝试将上下文添加到CompletionSuggestionBuilder。我有一个需要添加的String对象的映射。到目前为止,我的代码是-
Map<String, String> context = ...
CompletionSuggestionBuilder csb = SuggestBuilders.completionSuggestion(field).text(value).size(count);
Run Code Online (Sandbox Code Playgroud)
如何将上下文对象添加到csb?我认为使用的方法是-
csb.contexts(Map<String, List<? extends ToXContent>> queryContexts)
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何从我的地图到地图,以作为参数传递给contexts方法。