文件管理 · 2024年5月2日

java文件夹选择器|java 中怎么通过文件选择器选择要保存文件的的目录然后返回绝对路径

Ⅰ 急求一个简单的java 界面程序 实现一个选择本地电脑文件的功能

importjava.io.*;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;{JFrameframe=newJFrame("文件选择器实例");JTabbedPanetabPane=newJTabbedPane();//选项卡布局Containercon=newContainer();//布局1Containercon1=newContainer();//布局2JLabellabel1=newJLabel("选择目录");JLabellabel2=newJLabel("选择文件");JTextFieldtext1=newJTextField();JTextFieldtext2=newJTextField();JButtonbutton1=newJButton("…");JButtonbutton2=newJButton("…");JFileChooserjfc=newJFileChooser();//文件选择器YFileChooser(){jfc.setCurrentDirectory(newFile("d:\"));//文件选择器的初始目录定为d盘//下面两行是取得屏幕的高度和宽度doublelx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();doublely=Toolkit.getDefaultToolkit().getScreenSize().getHeight();frame.setLocation(newPoint((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置frame.setSize(300,150);//设定窗口大小frame.setContentPane(tabPane);//设置布局//下面设定标签等的出现位置和高宽label1.setBounds(10,10,70,20);label2.setBounds(10,30,100,20);text1.setBounds(80,10,120,20);text2.setBounds(80,30,120,20);button1.setBounds(210,10,50,20);button2.setBounds(210,30,50,20);button1.addActionListener(this);//添加事件处理button2.addActionListener(this);//添加事件处理con.add(label1);con.add(label2);con.add(text1);con.add(text2);con.add(button1);con.add(button2);con.add(jfc);tabPane.add("目录/文件选择",con);//添加布局1tabPane.add("暂无内容",con1);//添加布局2frame.setVisible(true);//窗口可见frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序}publicvoidactionPerformed(ActionEvente){//事件处理if(e.getSource().equals(button1)){//判断触发方法的按钮是哪个jfc.setFileSelectionMode(1);//设定只能选择到文件夹intstate=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句if(state==1){return;//撤销则返回}else{Filef=jfc.getSelectedFile();//f为选择到的目录text1.setText(f.getAbsolutePath());}}if(e.getSource().equals(button2)){jfc.setFileSelectionMode(0);//设定只能选择到文件intstate=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句if(state==1){return;//撤销则返回}else{Filef=jfc.getSelectedFile();//f为选择到的文件text2.setText(f.getAbsolutePath());}}}publicstaticvoidmain(String[]args){newYFileChooser();}}

不用谢~请叫我雷锋

Ⅱ Java (文件选择器) 保存文件

JFileChooser fd=new JFileChooser();fd.showSaveDialog(null);File f=fd.getSelectedFile();System.out.println(f.getName());疑惑解答: 1. JFileChooser.getSelectedFile()返回一个文件对象,调这个文件对象的getName()很容易得到用专户输入的文件名。返回文件对象既属包含了文件路径也包含了文件名,这也体现了Java面向对象的思想。 2. Java的文件对象在文件系统中是可以存在,也可不存在的,所以Java的文件对象有exists()、createNewFile()、mkdir()等方法。所以文件保存对话框返回的文件对象不一定在文件系统实际存在,而仅仅是一串路径的表示。

Ⅲ 文件夹选择器怎么实现

Android中文件选择器的实现今天给大家分享下文件选择器的作用 , 具体就是获取用户在在SD卡选中的文件/文件夹路径 ,类似于C#中 OpenFileDialog控件(对C#的一站式开发还是念念不忘)。功能实现起来比较简单,主要是帮助大家节省开发时间。 网上流传较广的一个成品如下 <[Android实例] 文件选择器>, 本文也是根据上面的成品修改而成,使其更易 理解,效率更高。 除此之外,主要特色有: 1、我们监听了用户按下Back键的事件,使其返回上一层目录; 2、针对不同的文件类型(文件vs文件夹 , 目标文件vs其他文件)做了特殊处理。 知识点一、 File 类的使用 文件选择器的主要功能是:浏览文件\文件夹、文件类型等;都是通过Java File类来实现的。 关于File类的使用,请参考如下博客: <<来自java文档 File类>> <<Java File类>> 知识点二、调用方法说明 使用了startActivityForResult()发起调用以及onActivityResult()方法接受回调后的信息。 其他的也没什么好说了,大家看看代码注释吧~~ so easy – – 。 FileChooserActivity.java 实现文件选择的类 。[java] view plainprint?public class CopyOfFileChooserActivity extends Activity { private String mSdcardRootPath ; //sdcard 根路径 private String mLastFilePath ; //当前显示的路径 private ArrayList<FileInfo> mFileLists ; private FileChooserAdapter mAdatper ; //配置适配器 private void setGridViewAdapter(String filePath) { updateFileItems(filePath); mAdatper = new FileChooserAdapter(this , mFileLists); mGridView.setAdapter(mAdatper); } //根据路径更新数据,并且通知Adatper数据改变 private void updateFileItems(String filePath) { mLastFilePath = filePath ; mTvPath.setText(mLastFilePath); if(mFileLists == null) mFileLists = new ArrayList<FileInfo>() ; if(!mFileLists.isEmpty()) mFileLists.clear() ; File[] files = folderScan(filePath); if(files == null) return ; for (int i = 0; i < files.length; i++) { if(files[i].isHidden()) // 不显示隐藏文件 continue ; String fileAbsolutePath = files[i].getAbsolutePath() ; String fileName = files[i].getName(); boolean isDirectory = false ; if (files[i].isDirectory()){ isDirectory = true ; } FileInfo fileInfo = new FileInfo(fileAbsolutePath , fileName , isDirectory) ; //添加至列表 mFileLists.add(fileInfo); } //When first enter , the object of mAdatper don't initialized if(mAdatper != null) mAdatper.notifyDataSetChanged(); //重新刷新 } //获得当前路径的所有文件 private File[] folderScan(String path) { File file = new File(path); File[] files = file.listFiles(); return files; } private AdapterView.OnItemClickListener mItemClickListener = new OnItemClickListener() { public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { FileInfo fileInfo = (FileInfo)(((FileChooserAdapter)adapterView.getAdapter()).getItem(position)); if(fileInfo.isDirectory()) //点击项为文件夹, 显示该文件夹下所有文件 updateFileItems(fileInfo.getFilePath()) ; else if(fileInfo.isPPTFile()){ //是ppt文件 , 则将该路径通知给调用者 Intent intent = new Intent(); intent.putExtra(EXTRA_FILE_CHOOSER, fileInfo.getFilePath()); setResult(RESULT_OK , intent); finish(); } else { //其他文件….. toast(getText(R.string.open_file_error_format)); } } }; public boolean onKeyDown(int keyCode , KeyEvent event){ if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_BACK){ backProcess(); return true ; } return super.onKeyDown(keyCode, event); } //返回上一层目录的操作 public void backProcess(){ //判断当前路径是不是sdcard路径 , 如果不是,则返回到上一层。 if (!mLastFilePath.equals(mSdcardRootPath)) { File thisFile = new File(mLastFilePath); String parentFilePath = thisFile.getParent(); updateFileItems(parentFilePath); } else { //是sdcard路径 ,直接结束 setResult(RESULT_CANCELED); finish(); } } } 界面依旧很丑陋,囧 ,大家可以根据需要在此基础上添加功能 。

Ⅳ java文件选择器问题

只需要使用JFileChooser的setFileSelectionMode方法设置一下即可myfilechooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);这样就只能选择文件夹了setFileSelectionModepublic void setFileSelectionMode(int mode)设置 JFileChooser,以允许用户只选择文件、只选择目录,或者可选择文件和目录。默认值是 JFilesChooser.FILES_ONLY。 参数:mode – 要显示的文件类型: JFileChooser.FILES_ONLY JFileChooser.DIRECTORIES_ONLY JFileChooser.FILES_AND_DIRECTORIES 抛出: IllegalArgumentException – 如果 mode 是非法的文件选择模式另:JAR文件的图标无法更改

Ⅳ Java里的文件选择器是干什么用得

Java里的文件选择器是方便用户在硬盘上选择文件的,这里有个程序你可以看一下,就知道文件选择器怎么用了。import java.awt.*;import javax.swing.*;import javax.swing.colorchooser.ColorSelectionModel;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import java.io.*;import java.awt.event.*;public class Test11 extends JFrame{//添加一个颜色对话框窗口JFrame color=new JFrame();JDialog color_diglog=new JDialog(color,"颜色",true);Container contentpane=this.getContentPane(); JTextArea text=new JTextArea();//文本域 JFileChooser filechooser=new JFileChooser();//文件选择器 JColorChooser colorchooser=new JColorChooser();//颜色选择器 ColorSelectionModel model=colorchooser.getSelectionModel();//用以获取颜色模型 //创建菜单栏 JMenuBar menubar=new JMenuBar(); JMenu F_menu=new JMenu("文件(F)"), C_menu=new JMenu("颜色(C)"); JMenuItem FC=new JMenuItem("打开(文件选择器)"), CC=new JMenuItem("颜色(颜色选择器)"); public Test11(){ super("简单文本编辑器");//调用父类(JFrame)的构造方法 contentpane.setLayout(new BorderLayout()); text.setLineWrap(true); F_menu.add(FC); C_menu.add(CC); menubar.add(F_menu); menubar.add(C_menu); contentpane.add(menubar,"North"); contentpane.add(text); color_diglog.add(colorchooser); color_diglog.setSize(300, 400); fileshow();//事件监听器类 } public void fileshow(){ //文件查看器 FC.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int result=filechooser.showOpenDialog(null); File file=filechooser.getSelectedFile(); if(file!=null&&result==JFileChooser.APPROVE_OPTION){ try {//将读出的文件赋给text,text用read方法读出 FileReader fr=new FileReader(file.getPath()); text.read(fr,null); fr.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } } } }); //颜色查看器 CC.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ color_diglog.setLocationRelativeTo(Test11.this);//在color_dialog中显示颜色选择器 model.addChangeListener(new ChangeListener(){ public void stateChanged(ChangeEvent e){ text.setBackground(colorchooser.getColor());//将文本域的背景色改变为获取的颜色}}); color_diglog.setVisible(true); } }); }public static void main(String[] args) { JFrame f=new Test11(); f.setBounds(300,300,300,300); f.setVisible(true); f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); f.(true); f.addWindowListener(new WindowAdapter(){ public void windowClosed(WindowEvent e){ System.exit(0); } });}}

Ⅵ java 中怎么通过文件选择器选择要保存文件的的目录,然后返回绝对路径

如果用的是JFileChooser的话可以用getCurrentDirectory().getPath();方法得到你选择的文件夹路径。

Ⅶ java调用windows自带的文件(夹)选择器

但java不能直接call dll呀。一定要写一个jni去调用windows的文件选择器,再用java去调用jni。。很麻烦,所以建议不要啦,需要java的是难看了点。

Ⅷ Java如何做出好看的本地文件选择器

更改一下外观为windows的:if(UIManager.getLookAndFeel().isSupportedLookAndFeel()){final String platform = UIManager.getSystemLookAndFeelClassName();// If the current Look & Feel does not match the platform Look & Feel,// change it so it does.if (!UIManager.getLookAndFeel().getName().equals(platform)) {try {UIManager.setLookAndFeel(platform);} catch (Exception exception) {exception.printStackTrace();}}}如果不需要文件过滤可以选择 FileDialog来打开文件,这个是调用操作系统的文件筐打开文件的,但是在window下实现不了文件过滤,其他系统下可以。如果用JFileChoose可以很容易实现,文件过滤,但是界面默认是java外观。如果要好看,可以设置一下显示外观。