① java 中怎么通过文件选择器选择要保存文件的的目录,然后返回绝对路径
如果用的是JFileChooser的话可以用getCurrentDirectory().getPath();方法得到你选择的文件夹路径。
② 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()等方法。所以文件保存对话框返回的文件对象不一定在文件系统实际存在,而仅仅是一串路径的表示。
③ java 如何做 保存文件时候弹出的那个窗口有
JFileChooser jf=new JFileChooser("d:/");
int value=jf.showSaveDialog(null);
if(value==JFileChooser.APPROVE_OPTION){ //判断窗口是否点的是打开或保存
File getPath=jf.getSelectedFile(); //取得路径
.......//用流在将你的数据输出
}else{
// 没有选择,即点了内窗口的取消
....... //点了取容消后有要做些什么
}
注意:这个只是路径,通过这个路径你可以用流来输出你的数据。
千万不要以为你只选择点保存打开它就帮你自动保存。
④ JFileChooser 保存上次打开文件的路径
量身打造 请测试...import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.Properties;public class FileChooser extends JFrame implements ActionListener{
private JButton open;
private JFileChooser chooser;
private String latestPath ;
private Profile profile;
public FileChooser() {
profile = new Profile();//每次运行程序时创建配置文件Profile对象
latestPath = (profile.read()?profile.latestPath:"C:/");//读取配置文件里的参数Profile并赋值给latestPath
open = new JButton("open");
this.add(open);
this.setSize(200,150);
this.setLocationRelativeTo(null);//窗口居中
this.setVisible(true);
open.addActionListener(this);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
profile.write(latestPath);//每次退出程序时把最后一次打开的目录写入到配置文件
}
});
} public static void main(String[] args) {
new FileChooser();
} public void actionPerformed(ActionEvent arg0) {
if(!new File(latestPath).exists()){
latestPath = "C:/";
}else{
chooser = new JFileChooser(latestPath);
int returnVal = chooser.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
//其他操作...
latestPath = file.getParent();//每次退出文件选择器后更新目录Properties
}
}
}
}class Profile{
String latestPath = "C:/";
File file = new File("C:/JavaCode/FileChooser/set.ini");
public Profile(){}
boolean create(){
boolean b = true;
if(file!=null){
File directory = file.getParentFile();//获得文件的父目录
if(!directory.exists()){//目录不存在时
b = directory.mkdirs();//创建目录
}else{//存在目录
if(!file.exists()){//配置文件不存在时
try {
b = file.createNewFile();//创建配置文件
} catch (IOException e) {
b = false;
}
}
}
} return b;
}
boolean read(){
Properties pro;//属性集
FileInputStream is = null;
boolean b = true;
if(!file.exists()){//配置文件不存在时
b = create();//创建一个
if(b)//创建成功后
b = write(latestPath);//初始化
else//创建失败即不存在配置文件时弹出对话框提示错误
JOptionPane.showConfirmDialog(null, "对不起,不存在配置文件!", "错误",
JOptionPane.YES_NO_OPTION,
JOptionPane.ERROR_MESSAGE);
}else{
try {
is = new FileInputStream(file);
pro = new Properties();
pro.load(is);//读取属性
latestPath = pro.getProperty("latestPath");//读取配置参数latestPath的值
is.close();
}
catch (IOException ex) {
ex.printStackTrace();
b = false;
}
}
return b;
}
boolean write(String latestPath){
this.latestPath = latestPath;
Properties pro = null;
FileOutputStream os = null;
boolean b = true;
try {
os = new FileOutputStream(file);
pro = new Properties();
pro.setProperty("latestPath",latestPath);
pro.store(os,null); //将属性写入
os.flush();
os.close();
System.out.println("latestPath=" + latestPath);
}
catch (IOException ioe) {
b = false;
ioe.printStackTrace();
}
return b;
}
}
⑤ java中JFileChooser保存文件获取要把文件保存到的路径
先保证远程计算机的目录可以写入,然后和操作本地文件没什么区别,一个示例:
try{
FileOutputStream fos = new FileOutputStream(new File("\\\\192.168.0.2\\a.txt"));
}
catch(Exception ex){
ex.printStackTrace();
}
这可以在192.168.0.2的共享根目录下创建一个a.txt文件,详细的文件操作优化方面,可以自己看看参考资料的。
⑥ java编写的记事本的保存和另存为功能
你要的关键程序代码:。(源文件超过10000字,无法粘全在这,要的话,加我)(e.getActionCommand()=="保存"||e.getActionCommand()=="保存为")
{
JFileChooser chooser=new JFileChooser(); //创建文件选择对话框
int result=chooser.showSaveDialog(frame);
if(result==JFileChooser.APPROVE_OPTION)
{
try
{
FileWriter fout = new FileWriter(chooser.getSelectedFile()); //向磁盘中写文件
fout.write(jtextpane.getText()+"\r\n");
fout.close();
}
catch (IOException ioex)
{
}
}
}执行效果: