gpt4 book ai didi

java - NetBeans IDE java 程序无法正确检索目录

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:02 24 4
gpt4 key购买 nike

我正在用 Java(IDE:NetBeans 7.4、JDK 7、Swing API)编写一个程序来替代 Microsoft 蹩脚的记事本。

我面临的问题是,我添加了一个按钮来获取用户希望保存文件的目录。以下是该按钮的代码(名为 Choosedir):

private void choosedirActionPerformed(java.awt.event.ActionEvent evt) {                                          
int select=choose.showOpenDialog(this);
if (select == choose.APPROVE_OPTION){
String dir=choose.getName(choose.getCurrentDirectory());
directory.setText(dir.toString()+"-");
}
}

上面的代码在文本框“directory”中设置所选目录。

现在,作者的代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
String dir=choose.getName(choose.getCurrentDirectory());
directory.setText(dir.toString());
File file=new File(dir+name+".txt");
try{
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF8"));
out.append(input.getText());
}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}

问题是:1. 没有保存文件2. 无论我选择哪个目录,它都会显示 Windows 资源管理器中看到的目录名称。就像,如果我想要它在 C:/Windows/Temp 中,它只显示 Temp。或者甚至对于 C:/,它显示“本地磁盘 C:”。

2013 年 11 月 16 日更新:尽管有 alex 的帮助,该程序仍然无法运行。这是完整的源代码:

import java.io.*;
public class QuickPad_v1 extends javax.swing.JFrame {

/**
* Creates new form QuickPad_v1
*/
public QuickPad_v1() {
initComponents();
}
/* Avoid the non-programmed buttons below! */
private void extensionActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String dir=directory.getText();
File file=new File("C://"+name+".txt");
try{
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF8"));
out.append(input.getText());
}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}

private void choosedirActionPerformed(java.awt.event.ActionEvent evt) {
int select=choose.showOpenDialog(this);
if (select==choose.APPROVE_OPTION){

}
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new QuickPad_v1().setVisible(true);
}
});
}

请帮忙!我会给你投票,保证!

最佳答案

了解有关使用 JFileChooser 的更多信息和its methods .

在您的代码中,您没有文件的完整路径,无法将其保存在您想要的位置,因为它保存... file.getAbsoluteFile() 帮助您知道它在哪里:

String dir=choose.getName(choose.getCurrentDirectory());
directory.setText(dir.toString());
File file=new File(dir+name+".txt");

尝试下一个对您有帮助的代码:

String dir = choose.getCurrentDirectory().getAbsolutePath();
directory.setText(dir);
File file = new File(dir+ File.separator + name + ".txt");

关于java - NetBeans IDE java 程序无法正确检索目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com