javaexception会终止整个java应用程序吗?

我曾经认为,当发生exception时,整个java应用程序将被终止。 例如,我编写了一个测试函数来测试我的想法。 public void test(){ File fileDir=new File(sourceDataDir); if(fileDir.exists()){ File[] files = fileDir.listFiles(); for(int index=0 ; index<files.length ; index++){ System.out.println("index = "+index); File file = files[index]; if(index == 1)//delete a file to cause a FileNotFoundException file.delete(); try { BufferedReader in = new BufferedReader(new FileReader(file)); } catch (FileNotFoundException e) { e.printStackTrace(); } } } } 我删除文件以手动导致FileNotFoundException […]

正则表达式捕获组中的组

在Java中,如何获取组内的所有组(正则表达式)。 例如:使用(([AZ] [az] +)+)([0-9] +)测试一个字符串:“AbcDefGhi12345”。 然后得到结果: 比赛():是 groupCount():3 组(1):ABCDEFGHI 组(2):GHI 组(3):12345 但我想分别获得String“Abc”,“Def”,“Ghi”,“12345”。 我怎么能用正则表达式做到这一点?

如何让URLEncoding不对冒号进行编码?

我有一个JSONObject: {user:{“firstname”:”testuser”,”surname”:”æøå”}} 所以我在对象中有这些特殊字符 我URLncode我有的jsonString。 urlEncodedJsonReq = URLEncoder.encode(“{user:{\”firstname\”:\”testuser\”,\”surname\”:\”æøå\”}}”,”UTF-8″); 我收到服务器的回复:“你提交的URI不允许使用字符。” 这是编码的url: serverurl/%7Buser%3A%7B%22firstname%22%3A%22testuser%22%2C%22surname%22%3A%22%C3%A6%C3%B8%C3%A5%22%7D%7D 但我需要的是: %7Buser:%7B%22firstname%22:%22testuser%22%2C%22surname%22:%22%C3%A6%C3%B8%C3%A5%22%7D%7D 这有可能以任何合理的方式吗? 提前致谢

在java中为分隔符拆分字符串

我的问题是我想用分隔符^在java中拆分字符串。 我使用的语法是: readBuf.split(“^”); 但这并没有拆分string.Infact这适用于所有其他分隔符,但不适用于^ 。

XSD循环导入

我需要使用XSOM解析XSD,但此XSD包含循环导入。 A.xsd B.xsd XSOM无法解析模式,因为它检测到由于循环导入而已定义的元素。 所以我试图通过外化由A定义并在B中使用的元素来打破循环导入。 C.xsd包含A使用的元素B.请注意,这些元素不在A中使用。不要问我为什么在A中定义了这些元素。 A.xsd成了 B.xsd(导入C.xsd而不是A.xsd)成为 XSOM可以解析XSD。 但现在我无法使用以下代码创建架构: SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); sf.setResourceResolver(new MyResourceResolver()); 我使用与JDK 1.7捆绑在一起的标准实现。 我得到了例外: src-resolve: Cannot resolve the name ‘ns1:MyElement’ to a(n) ‘element declaration’ component. 问题是资源解析器是为B命名空间调用的,而不是为有意义的A命名空间调用的。 由于命名空间A由A.xsd和C.xsd共享,因此资源解析器无法找到C.xsd中定义的元素。 圆形import是否有效? 是否可以打破循环导入,以便XSOM解析然后由SchemaFactory加载?

Bean属性不可读或具有无效的getter方法

所以,我有一个任务是为注册表路由编写一个简单的Web应用程序。 使用Spring MVC。 所以我有class级“路线”,我想保持起点,终点和中间点列表。 但我不明白,如何将值从jsp列入列表(例如使用jstl)。 所以我决定解析一个字符串。 public class Route { private String start; private String finish; private String form; private List list; public Route() { } public Route(String start, String finish, String route) { this.start = start; this.finish = finish; this.form = route; this.toList(); } public Route(String start, String finish) { this.start = start; this.finish […]

MultipartResolver不起作用

我使用Maven和Spring Roo开发RESTFul Web服务。 在我的配置xml文件中,我定义了一个multipartResolver bean,因为我上传了300KB的文件: 文件成功上传并推送到堆栈中。 这些文件是CommonsMultipartFile或MultipartFile对象(我对这两种类型的对象都有相同的现象)。 一旦我弹出一个文件,我可以调用getSize()方法,我可以validation文件的大小是否正确。 但是一旦我调用getInputStream()我就会收到以下错误: File has been moved – cannot be read again. 我在multipartResolver声明中做错了什么? 还有其他原因导致此错误吗? 谢谢

需要FileDialog和Java中的文件类型filter

我有一个带有按钮/文本字段的JDialog供用户选择文件。 这是代码: FileDialog chooser = new FileDialog(this, “Save As”, FileDialog.SAVE ); String startDir = saveAsField.getText().substring( 0, saveAsField.getText().lastIndexOf(‘\\’) ); chooser.setDirectory(startDir); chooser.setVisible(true); String fileName = chooser.getFile(); 我的问题是,我没有看到所有文件filter,而是想提供自定义filter,例如Word文档或其他东西。 我使用setFilenameFilter()设置了一个自定义的FilenameFilter,但它似乎不起作用。 我注意到它在文档中说自定义filter在Windows中不起作用(这在Windows XP / Vista / 7中运行)。 这是我对filter的实现: chooser.setFilenameFilter( new geFilter() ); public class geFilter implements FilenameFilter { public boolean accept(File dir, String name) { return name.endsWith( “.doc” ) || […]

apache POI – 获取生成的excel文件的大小

我正在使用Apache POI在我的spring mvc应用程序中生成excel文件。 这是我的春季行动: @RequestMapping(value = “/excel”, method = RequestMethod.POST) public void companyExcelExport(@RequestParam String filter, @RequestParam String colNames, HttpServletResponse response) throws IOException{ XSSFWorkbook workbook = new XSSFWorkbook(); //code for generate excel file //…. response.setContentType(“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”); response.setHeader(“Content-Disposition”, “attachment; filename=test.xlsx”); workbook.write(response.getOutputStream()); response.setHeader(“Content-Length”, “” + /* How can i access workbook size here*/); } 我使用XSSFWorkbook是因为我需要生成Excel 2007格式。 但我的问题是XSSFWorkbook没有getBytes或getSize方法。 如何计算生成的xlsx文件的大小? 编辑:我在这里使用ByteArrayOutputStream […]

OnHandleIntent()没有在IntentService中调用

我知道之前已经问过这个问题,但是我已经找到了我能找到的所有答案,但仍然无法解决问题。 问题是当BroadcastReceiver启动时,不会调用IntentService onHandleIntent()。 奇怪的是构造函数运行(我可以通过Log输出看到)。 这是我的代码: NoLiSeA.class (此类包含启动我的服务的BroadcastReceiver) public void toProcess(StatusBarNotification sbn) { LocalBroadcastManager.getInstance(this).registerReceiver(notificationForwarder, new IntentFilter(“to_forward”)); Intent intent = new Intent(“to_forward”); intent.putExtra(“sbn”, sbn); LocalBroadcastManager.getInstance(this).sendBroadcast(intent); Log.i(“NoLiSe.TAG”, “toProcess”); } private BroadcastReceiver notificationForwarder = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.i(“NoLiSe.TAG”, “BroadCastReceiver.onReceive”); Intent i = new Intent(context, CoreTwoA.class); i.putExtras(intent); startService(i); } } }; CoreTwoA.class […]