Я разрабатываю программу java, которая принимает имя ученика и отображает имя и дату на JTextPane. Когда пользователь нажимает кнопку выхода, программа должна автоматически сохранять файл в указанном каталоге внутри новой папки, созданной с тем же именем, что и пользователь, предоставленный для ученика. Ниже мой код:Java File Directory Issue
public class StudentRecorder extends JFrame implements ActionListener{
MyKeyListener listener;
public JTextPane page;
private JScrollPane scroll;
private JMenuBar menubar;
private AttributeSet aset;
public String name;
private JMenu menufile;
private JMenuItem exit;
StudentRecorder(){
super("Student Recorder");
init();
this.setSize(400, 400);
this.setLocation(400, 400);
this.setVisible(true);
}
void init(){
menubar = new JMenuBar();
name = JOptionPane.showInputDialog(this, "Enter Student's Name:\n(For locations of files to be preserved, "
+ "names\nare case-sensitive.)", "Student Name", JOptionPane.QUESTION_MESSAGE);
String timeStamp = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(Calendar.getInstance().getTime());
page = new JTextPane();
if (name.equals("")){
aset = StyleContext.getDefaultStyleContext().addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, Color.RED);
page.setCharacterAttributes(aset, false);
page.setText(timeStamp + "\n" + "(Student Name Not Typed In. You must manually save this file. File "
+ "wont be autosaved.)" + "\n\n");
}
else{
page.setText(timeStamp + "\n" + name + "\n\n");
}
//Declaration
menufile = new JMenu("File");
exit = new JMenuItem("Exit");
//Adding to JMenuBar
menubar.add(menufile);
menufile.add(exit);
//Add ActionListener
exit.addActionListener(this);
//Page characteristics
aset = StyleContext.getDefaultStyleContext().addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, Color.BLACK);
page.setCharacterAttributes(aset, false);
Font font = new Font("Arial", Font.PLAIN, 14);
page.setFont(font);
this.setJMenuBar(menubar);
scroll = new JScrollPane(page);
this.add(scroll);
scroll.createHorizontalScrollBar();
listener = new MyKeyListener();
page.addKeyListener(listener);
page.setFocusable(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == exit){
File f = new File("./Desktop/" + name);
try{
if(f.mkdir()){
System.out.println("Directory Created.");
System.exit(0);
}
else{
System.out.println("Directory Not Created.");
}
}catch(Exception e1){
e1.printStackTrace();
}
}
}
}
Я бегу на вопрос в моей программе, где файл не сохраняется в каталог с именем, предоставляемым. Он постоянно появляется в консоли «Directory Not Created». Может кто-нибудь, пожалуйста, скажите мне, как я могу решить эту проблему? В моем коде нет других ошибок, которые предотвращают его запуск.
Заранее благодарим всех, кто отвечает.
Что директория эта программа запускается с? – Zach
Он вложен в папку моих документов. Я надеялся сохранить мой каталог в моей папке проекта Java, но он предоставил мне инструкцию save-Directory Not Created. – iProgramIt