首页 文章 精选 留言 我的

精选列表

搜索[语言回退],共10006篇文章
优秀的个人博客,低调大师

Android -- 点击双下返回退出程序

背景 现在好多apk软件都是点击双下的返回键才退出程序,当然还有Toast的位置,gravity,这次我分享一下双下点击退出程序。 代码 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode == KeyEvent.KEYCODE_BACK) { for2Click(); //调用双击退出函数 } return false; } private static Boolean isExit = false; private void for2Click() { Timer tExit = null; if (isExit == false) { isExit = true; // 准备退出 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); tExit = new Timer(); tExit.schedule(new TimerTask() { @Override public void run() { isExit = false; // 取消退出 } }, 2000); // 2秒 } else { finish(); System.exit(0);//finish(); } } 我是天王盖地虎的分割线 本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3720580.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Java POI重复读取excel:stream closed,回退流PushbackInputStream解决

Java POI读取Excel有两种文件格式,2003和2007以上的,需要通过不同的api进行读取,于是写了下面的工具类。 public class ExcelReadUtil { private static Logger log = LoggerFactory.getLogger(ExcelReadKit.class); /** * * @param fis * 输入的文件流 * @param sheetIndex * 第x个sheet * @return */ public void readExcel(InputStream fis, int sheetIndex) { try { Sheet sheet = null; Workbook wb = null; try { // 利用poi读取excel文件流,2003版本 POIFSFileSystem fs = new POIFSFileSystem(fis); wb = new HSSFWorkbook(fs); // 读取excel工作簿 sheet = wb.getSheetAt(sheetIndex); // 读取excel的sheet,0表示读取第一个 } catch (Exception e) { // 利用poi读取excel文件流,2007及以上版本 wb = new XSSFWorkbook(fis); // 读取excel工作簿 sheet = wb.getSheetAt(sheetIndex); // 读取excel的sheet,0表示读取第一个 } //读取操作省略。。。 wb.cloneSheet(sheetIndex); fis.close(); } catch (Exception e) { log.error("读取Excel文件流时出错:", e); } finally { if (fis != null) { try { fis.close(); } catch (Exception e) { } } } } } 先读取2003(.xls)版本的,如果异常就读取2007(.xlsx)版本的,看起来没什么问题,但是实际使用中,当读取xlsx文件的时候会stream closed报错,这是为什么呢?原来当读取了一次文件流的异常之后,运行到wb = new XSSFWorkbook(fis); // 读取excel工作簿的时候,输入流已经被关闭了。怎么解决这个InputStream 被关闭的问题呢?使用前用PushbackInputStream包装,读取前先POIFSFileSystem.hasPOIFSHeader和POIFSFileSystem.hasPOIFSHeader方法读取流的头判断文件格式 修改如下: public class ExcelReadUtil { private static Logger log = LoggerFactory.getLogger(ExcelReadKit.class); /** * * @param fis * 输入的文件流 * @param sheetIndex * 第x个sheet * @return */ public void readExcel(InputStream fis, int sheetIndex) { try { Sheet sheet = null; Workbook wb = null; // 不加报错:java.io.IOException: mark/reset not supported //PushbackInputStream参考:https://my.oschina.net/fhd/blog/345011 if (!fis.markSupported()) { fis = new PushbackInputStream(fis, 8); } /** * 只能通过这种方式判断版本,使用如果通过 * try catch捕获异常方式先读取了一次,流会被关闭,后面就读取不到了 */ //2003版 if (POIFSFileSystem.hasPOIFSHeader(fis)) { // 读取excel工作簿 wb = new HSSFWorkbook(fis); } //2007版 else if (POIXMLDocument.hasOOXMLHeader(fis)) { //OPCPackage.open(fis)取得一个文件的读写权限 wb = new XSSFWorkbook(OPCPackage.open(fis)); } //读取操作省略。。。 wb.cloneSheet(sheetIndex); fis.close(); } catch (Exception e) { log.error("读取Excel文件流时出错:", e); } finally { if (fis != null) { try { fis.close(); } catch (Exception e) { } } } } } 使用工具类,此时读取两种格式的文件都没有问题了 public class ExcelReaderTest { @Test public void readData() throws IOException, ParseException { File file = new File("D:\\test.xlsx"); ExcelReadUtil excelReader = new ExcelReadUtil(); //只读取第一个sheet页 excelReader.readExcel(new FileInputStream(file), 0); //... } } 具体PushbackInputStream介绍参考:https://my.oschina.net/fhd/blog/345011

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册