嘿,我正在写一个networking应用程序,在这个应用程序中我读取了一些自定义二进制格式的数据包 我开始后台线程来等待传入的数据。 问题是,编译器不让我把任何代码抛出(检查)exception到run() 。 它说: run()in(…)。Listener不能在java.lang.Runnable中实现run(); 重写的方法不会抛出java.io.IOException 我想要exception杀死线程,并让它在父线程的某处被捕获。 这是可能实现或我必须处理线程内的每个exception?
假设我有以下目录结构。 D:\reports\january\ 一月份里面有两个excel文件说A.xls和B.xls。 有很多关于如何使用java.util.zip压缩文件的地方。 但是我想将报告文件夹内的january文件夹压缩到报告文件夹中,以便报告中将包含一月份和一月份.zip 。 ( 这意味着当我解压缩january.zip文件,我应该得到1月文件夹 )。 任何人都可以请提供我使用java.util.zip的代码。 请让我知道这是否可以通过使用其他库更容易完成。 非常感谢…
我知道同步方法和同步块之间的区别,但我不确定关于同步块部分。 假设我有这个代码 class Test { private int x=0; private Object lockObject = new Object(); public void incBlock() { synchronized(lockObject) { x++; } System.out.println("x="+x); } public void incThis() { // same as synchronized method synchronized(this) { x++; } System.out.println("x="+x); } } 在这种情况下使用lockObject和使用这个锁作为区别? 对我来说似乎是一样的.. 当你决定使用同步块时,你如何决定哪个对象是锁?
我有多个属性文件,我想从类path加载。 在/src/main/resources下有一个默认设置,它是myapp.jar一部分。 我的springcontext期望文件在类path。 即 <util:properties id="Job1Props" location="classpath:job1.properties"></util:properties> <util:properties id="Job2Props" location="classpath:job2.properties"></util:properties> 我也需要用外部设置覆盖这些属性的选项。 我在cwd有一个外部configuration文件夹。 按照Spring引导文档config文件夹应该在classpath上。 但是从doc不清楚它是否只会覆盖来自那里的applicaiton.properties或者config中的所有属性。 当我testing它时,只有application.properties被拾取,剩下的属性仍然从/src/main/resources被拾取。 我已经尝试提供他们作为逗号分隔列表spring.config.location但默认设置仍然没有被覆盖。 我如何使多个外部configuration文件覆盖默认的? 作为解决方法我目前使用app.config.location (特定于应用程序的属性),我通过命令行提供。 即 java -jar myapp.jar app.config.location=file:./config 我改变了我的applicationcontext上下文 <util:properties id="Job2Props" location="{app.config.location}/job2.properties"></util:properties> 这就是我加载应用程序时如何分离文件和类path。 EDITS: //psuedo code if (StringUtils.isBlank(app.config.location)) { System.setProperty(APP_CONFIG_LOCATION, "classpath:"); } 我真的不想使用上面的解决方法,并popup覆盖类path上的所有外部configuration文件,就像它为application.properties文件。
我有这样的说法: 假设字节x的位值是00101011. x>>2的结果是什么? 我如何编程,并可以解释我在做什么?
例: </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>0.7.1</version> <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <schemaDirectory>src/main/resources/dir1</schemaDirectory> <schemaIncludes> <include>schema1.xsd</include> </schemaIncludes> <generatePackage>schema1.package</generatePackage> </configuration> </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>0.7.1</version> <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <schemaDirectory>src/main/resources/dir2</schemaDirectory> <schemaIncludes> <include>schema2.xsd</include> </schemaIncludes> <generatePackage>schema2.package</generatePackage> </configuration> </plugin> </plugins> 发生了什么事情:Maven执行第一个插件。 然后删除目标文件夹并创build第二个包,然后可见。 我试着为第一个configuration设置target / somedir1,为第二个configuration设置target / somedir2。 但行为不会改变? 有任何想法吗? 我不想直接在src / main / java文件夹中生成包,因为这些包是生成的,不应该与手动创build的类混合使用。
春季安全可以在Spring控制器方法上使用@PreAuthorize吗?
我有BitmapFactory.decodeStream(inputStream) 。 当没有选项使用它时,它会返回一个图像。 但是,当我在.decodeStream(inputStream, null, options)使用选项时.decodeStream(inputStream, null, options)它永远不会返回位图。 我想要做的是在我实际加载它来节省内存之前下取样一个位图。 我读过一些很好的指南,但没有使用.decodeStream 。 处理大的位图 和这里 Android中的image processing 工作只是罚款 URL url = new URL(sUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); InputStream is = connection.getInputStream(); Bitmap img = BitmapFactory.decodeStream(is, null, options); 不工作 InputStream is = connection.getInputStream(); Bitmap img = BitmapFactory.decodeStream(is, null, options); InputStream is = connection.getInputStream(); Options options = new […]
如何在JSP / Java中将整体和小数部分加倍? 如果值是3.25那么我想得到fractional =.25 , whole = 3 我们如何在Java中做到这一点?
以下函数产生今天的date; 我怎样才能使它只产生昨天的date? private String toDate() { DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); return dateFormat.format(date).toString(); } 这是输出: 2012-07-10 我只需要像下面这样的昨天的date。 有没有可能在我的function呢? 2012-07-09