java – 将TXT文件拖放到TextArea中
发布时间:2020-12-15 02:32:51 所属栏目:Java 来源:网络整理
导读:这里我有一个名为sourceTx的文本区域,我在其中拖放文件,然后用BufferedReader读取该文件的内容.从下面的代码中我可以看到,我设置了文件,我正在使用absolutepath读取内容. 因此,当我拖放一些.txt文件时,它会工作,它会读取内容并将其放在文本区域中,但是当我也
这里我有一个名为sourceTx的文本区域,我在其中拖放文件,然后用BufferedReader读取该文件的内容.从下面的代码中我可以看到,我设置了文件,我正在使用absolutepath读取内容.
因此,当我拖放一些.txt文件时,它会工作,它会读取内容并将其放在文本区域中,但是当我也拖放一些文件夹时,例如它也会读取一些内容并将其放在文本区域中. 所以我想把这个拖放设置为只读.txt文件?我怎么能得到那个? 这是该方法的代码: public void dragDrop(){ sourceTx.setOnDragOver(new EventHandler <DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); if(db.hasFiles()){ event.acceptTransferModes(TransferMode.ANY); for(File file:db.getFiles()){ String absolutePath = file.getAbsolutePath(); BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream(absolutePath))); String line = null; String text = ""; String nl = System.getProperty("line.separator","n"); while((line = br.readLine()) != null) text += line + nl; sourceTx.setText( text.trim() ); } catch (Exception e) { MessageBox.show(MessageBoxType.ERROR,I18n.localize("File Error"),I18n.localize("Error while reading content from selected file")); } finally{ if(br != null) try { br.close(); } catch (Exception e) {} } } }else{ event.setDropCompleted(false); } event.consume(); } }); } 解决方法
您好,尝试用递归读取您的文件
... for (File file : db.getFiles()) { sourceTx.setText(handleFile(file)); } ... private String handleFile(File file) { String ret = ""; if (file.isDirectory()) { for (File f : file.listFiles()) { ret.concat(handleFile(f)); } } else { /*this is your filereader*/ String absolutePath = file.getAbsolutePath(); BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream(absolutePath))); String line = null; String text = ""; String nl = System.getProperty("line.separator","n"); while ((line = br.readLine()) != null) text += line + nl; ret.concat(text.trim()); } catch (Exception e) { MessageBox.show(MessageBoxType.ERROR,I18n.localize("Error while reading content from selected file")); } finally { if (br != null) try { br.close(); } catch (Exception e) { } } } return ret; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |