文件管理 · 2022年7月25日

java弹出文件选择|java 弹出选择目录框(选择文件夹)获取选择的文件夹路径

A. java弹出窗口读取文件

javax.swing.JFileChooser 这个类可以满足你的要求。下面是JDK文档里的一段代码。 JFileChooser chooser = new JFileChooser();// Note: source for ExampleFileFilter can be found in FileChooserDemo, // under the demo/jfc directory in the JDK. ExampleFileFilter filter = new ExampleFileFilter(); filter.addExtension("jpg"); filter.addExtension("gif"); filter.setDescription("JPG & GIF Images"); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(parent); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); }

B. 用Java写一个文件选择窗口

其它办法肯定是有的,用File就可以,只不过要自己绘制界面,这是个很淡疼的事。先获得一个目录下的所有文件,然后自己处理一下,排个序显示出来,例子找不着了,以前写过,思路就是那样的。Win8,听起来很厉害的样子,没用过,不清楚。通过FileDialog,当你打开一个目录后,这个位置会被记录下来,在你重新new这个FileDialog之前这个位置是不会变的。通常都是利用这一点来保存用户上次选择的位置。具体例子,没有。(但是看你一说是win8下有,winxp下没有,我觉得我说的好象没什么用处了。)过滤文件格式是可以的,FileDialog是可以添加过滤器的。你怎么什么都要例子?不过我在api里见到这样 一句话,意思是windows的过滤器在sun的实现中,不起作用。还有,我作为菜鸟都觉得分太低了,大神是不会来拯救你了。。。

C. Java应用程序怎样点击按钮弹出文件查找路径的窗口

1、js弹出文件选择框:给按钮定义以下javascript函数:var inputObj=document.createElement('input')inputObj.setAttribute('id','_ef');inputObj.setAttribute('type','file');inputObj.setAttribute("style",'visibility:hidden');document.body.appendChild(inputObj);inputObj.click();inputObj.value ;单击已经添加函数的按钮会弹出选择本地文件的对话框。2、写一个隐藏域, 当用户选择文件之后把图片的路径赋给这个隐藏域, 然后在action中就可以获取到文件的路径了,代码如下:function showRealPath(filePath){document.getElementsByName("textfield")[0].value = filePath;}<input type="file" name="uploadfile" onfocus="showRealPath(this.value);"/><input type="hidden" name="uploadfileRealPath">

D. 用java实现弹出一个选择文件保存的位置的窗口,像格式转换工厂那样,直接选择文件输出位置

public class JFileChooserFolder { public static void main (String[] args){ javax.swing.JFileChooser chooser = new javax.swing.JFileChooser(); chooser.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY); int returnVal = chooser.showOpenDialog(null); if(returnVal == javax.swing.JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " +chooser.getSelectedFile().getPath()); } }}JAVA的对话框,是不一样的,上专面的例子,是纯JAVA的。属

E. Java在客户端不能弹出文件选择框问题

jnlp写个swing程序,然后通过jnlp分发,用户一点击,就是要jre中的javaws打开这个jnlp文件,启动了swing程序

F. Java中编写出一个文件选择器。能选择文件夹的。

你可以同时查找盘中所有的文件夹,如:在窗体上部输入 c:package 查找文件;import java.awt.BorderLayout;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.io.File;import javax.swing.JFrame;import javax.swing.JList;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;public class TestList extends JFrame {JTextField jf;JList list;public TestList() {this.setTitle("查找文件");this.setBounds(200, 200, 500, 500);jf = new JTextField();list = new JList();this.add(jf, BorderLayout.NORTH);this.add(new JScrollPane(list), BorderLayout.CENTER);jf.addKeyListener(new KeyListener() {@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_ENTER) {// JOptionPane.showMessageDialog(null, jf.getText());String path = jf.getText();File root = new File(path);if (root.exists()) {File[] listf = root.listFiles();String[] items = new String[listf.length];int i = 0;for (File f : listf) {items[i] = f.getAbsolutePath();i++;}list.setListData(items);} else {JOptionPane.showMessageDialog(null, "输入不正确地址");}}}@Overridepublic void keyReleased(KeyEvent e) {}@Overridepublic void keyTyped(KeyEvent e) {}});list.addListSelectionListener(new ListSelectionListener() {@Overridepublic void valueChanged(ListSelectionEvent e) {Object sel = list.getSelectedValue();if (sel == null)return;String path = list.getSelectedValue().toString();System.out.println(path);File root = new File(path);if (root.isDirectory()) {if (root.exists()) {File[] listf = root.listFiles();String[] items = new String[listf.length];int i = 0;for (File f : listf) {items[i] = f.getAbsolutePath();i++;}list.setListData(items);} else {JOptionPane.showMessageDialog(null, "输入不正确");}} else {JOptionPane.showMessageDialog(null, "输入不是文件夹");}}});this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);}public static void main(String[] args) {new TestList();}}

G. java里怎样弹出文件夹窗口,要我打开本地磁盘一样的效果。

importjava.util.*;importjava.io.*;importjavax.swing.JFileChooser;publicclassTest{/***@paramargs*@throwsException*/publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstubJFileChooserjfc=newJFileChooser();if(jfc.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){Filefile=jfc.getSelectedFile();Scannerinput=newScanner(file);while(input.hasNext()){System.out.println(input.nextLine());}input.close();}elseSystem.out.println("Nofileisselected!");}}

上边这段代码默认输出到控制台里

H. JAVA怎么做点击按钮促发事件弹出浏览窗口选择excel文件读取,并显示到另外一个界面上,请给出主要代码

package com.excel;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.List;import javax.swing.JTextArea;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFDateUtil;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;/** * 解析Excel的类 */public class ExcelOperate { private JTextArea area; private String fileName; /** * 构造方法传值 * * @param area * 显示Excel内容的位置 * @param fileName * Excel文件名 */ public ExcelOperate(JTextArea area, String fileName) { this.area = area; this.fileName = fileName; } /** * 解析Excel文件 */ public void parseExcel() { File file = new File(fileName); String[][] result = null; try { result = getData(file, 1); } catch (IOException e) { e.printStackTrace(); } int rowLength = result.length; for (int i = 0; i < rowLength; i++) { for (int j = 0; j < result[i].length; j++) { area.append(result[i][j] + "\t\t"); } area.append("\n"); } } /** * 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行 * * @param file * 读取数据的源Excel * @param ignoreRows * 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1 * @return 读出的Excel中数据的内容 * @throws FileNotFoundException * @throws IOException */ public static String[][] getData(File file, int ignoreRows) throws FileNotFoundException, IOException { List<String[]> result = new ArrayList<String[]>(); int rowSize = 0; BufferedInputStream in = new BufferedInputStream(new FileInputStream( file)); // 打开HSSFWorkbook POIFSFileSystem fs = new POIFSFileSystem(in); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFCell cell = null; for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) { HSSFSheet st = wb.getSheetAt(sheetIndex); // 第一行为标题,不取 for (int rowIndex = ignoreRows; rowIndex <= st.getLastRowNum(); rowIndex++) { HSSFRow row = st.getRow(rowIndex); if (row == null) { continue; } int tempRowSize = row.getLastCellNum() + 1; if (tempRowSize > rowSize) { rowSize = tempRowSize; } String[] values = new String[rowSize]; Arrays.fill(values, ""); boolean hasValue = false; for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) { String value = ""; cell = row.getCell(columnIndex); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: value = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); if (date != null) { value = new SimpleDateFormat("yyyy-MM-dd") .format(date); } else { value = ""; } } else { value = new DecimalFormat("0").format(cell .getNumericCellValue()); } break; case HSSFCell.CELL_TYPE_FORMULA: // 导入时如果为公式生成的数据则无值 if (!cell.getStringCellValue().equals("")) { value = cell.getStringCellValue(); } else { value = cell.getNumericCellValue() + ""; } break; case HSSFCell.CELL_TYPE_BLANK: break; case HSSFCell.CELL_TYPE_ERROR: value = ""; break; case HSSFCell.CELL_TYPE_BOOLEAN: value = (cell.getBooleanCellValue() == true ? "Y" : "N"); break; default: value = ""; } } if (columnIndex == 0 && value.trim().equals("")) { break; } values[columnIndex] = rightTrim(value); hasValue = true; } if (hasValue) { result.add(values); } } } in.close(); String[][] returnArray = new String[result.size()][rowSize]; for (int i = 0; i < returnArray.length; i++) { returnArray[i] = (String[]) result.get(i); } return returnArray; } /** * 去掉字符串右边的空格 * * @param str * 要处理的字符串 * @return 处理后的字符串 */ public static String rightTrim(String str) { if (str == null) { return ""; } int length = str.length(); for (int i = length – 1; i >= 0; i–) { if (str.charAt(i) != 0x20) { break; } length–; } return str.substring(0, length); }}——————————————————————————————package com.excel;import java.awt.BorderLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.UIManager;import javax.swing.filechooser.FileNameExtensionFilter;/** * 主界面,按钮响应事件,文本域输出Excel内容 */public class OpenExcel extends JFrame implements ActionListener { private JButton button; private JScrollPane pane; private JTextArea area; public OpenExcel() { super("解析Excel"); button = new JButton("点我选择Excel文件"); button.addActionListener(this); area = new JTextArea(); pane = new JScrollPane(area); this.add(button, BorderLayout.NORTH); this.add(pane); this.setSize(300, 300); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } // 按钮事件 public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser();// 文件选择对话框 chooser.setAcceptAllFileFilterUsed(false);// 取消所有文件过滤项 chooser.setFileFilter(new FileNameExtensionFilter("Excel文件", "xls"));// 设置只过滤扩展名为.xls的Excel文件 int i = chooser.showOpenDialog(this);// 打开窗口 if (i == JFileChooser.APPROVE_OPTION) { this.setLocation(0, 0); this.setSize(Toolkit.getDefaultToolkit().getScreenSize()); new ExcelOperate(area, chooser.getSelectedFile().getAbsolutePath()) .parseExcel(); } } public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); new OpenExcel(); }}

I. java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String path = null;JFileChooser fileChooser = new JFileChooser();FileSystemView fsv = FileSystemView.getFileSystemView(); //注意了,这里重要的一句System.out.println(fsv.getHomeDirectory()); //得到桌面路径fileChooser.setCurrentDirectory(fsv.getHomeDirectory());fileChooser.setDialogTitle("请选择要上传的文件…");fileChooser.setApproveButtonText("确定");fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);result = fileChooser.showOpenDialog(chatFrame);if (JFileChooser.APPROVE_OPTION == result) { path=fileChooser.getSelectedFile().getPath(); System.out.println("path: "+path); }这是另外一种方法得到桌面路径:File desktop = new File(System.getProperty("user.home")+System.getProperty("file.separator")+"XX");filechooser.setCurrentDirectory(desktop); 我的文档 路径: fsv.getDefaultDirectory()); user.name 用户的账户名称user.home 用户的主目录user.dir 用户的当前工作目录java.version Java 运行时环境版本java.vendor Java 运行时环境供应商java.vendor.url Java 供应商的 URLjava.home Java 安装目录java.vm.specification.version Java 虚拟机规范版本java.vm.specification.vendor Java 虚拟机规范供应商java.vm.specification.name Java 虚拟机规范名称java.vm.version Java 虚拟机实现版本java.vm.vendor Java 虚拟机实现供应商java.vm.name Java 虚拟机实现名称java.specification.version Java 运行时环境规范版本java.specification.vendor Java 运行时环境规范供应商java.specification.name Java 运行时环境规范名称java.class.version Java 类格式版本号java.class.path Java 类路径java.library.path 加载库时搜索的路径列表java.io.tmpdir 默认的临时文件路径java.compiler 要使用的 JIT 编译器的名称java.ext.dirs 一个或多个扩展目录的路径os.name 操作系统的名称os.arch 操作系统的架构os.version 操作系统的版本