Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2016, 14:53   #1
Velvi
Пользователь
 
Аватар для Velvi
 
Регистрация: 24.01.2016
Сообщений: 11
Вопрос Новый путь файла после переименования

Всем привет,пишу программку для работы с файлами(переименование,создание,уда ление)типа блокнота.Она закончена неполностью,но уже есть погрешность.Дело в том,что когда я переименовываю существующий файл,то путь к файлу в строке остаётся тем же.Это довольно неудобно,но как это пофиксить я не знаю.Прошу помощи.Пишу на Java,кстати.
Сам код:
Код:

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import java.awt.Color;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.awt.event.ActionEvent;
import java.awt.Toolkit;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.Font;

public class kot extends JFrame {

	private JPanel contentPane;
	private JTextField textField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					kot frame = new kot();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public kot() {
		setFont(new Font("Dialog", Font.PLAIN, 9));
		setTitle("\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0440\u0430\u0431\u043E\u0442\u044B \u0441 \u0444\u0430\u0439\u043B\u043E\u043C");
		setIconImage(Toolkit.getDefaultToolkit().getImage(kot.class.getResource("/javax/swing/plaf/metal/icons/Inform.gif")));
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBackground(Color.GRAY);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel label = new JLabel("\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443:");
		label.setBounds(10, 11, 128, 14);
		contentPane.add(label);
		
		textField = new JTextField();
		textField.setBounds(130, 8, 294, 20);
		contentPane.add(textField);
		textField.setColumns(10);
		
		JButton buttonNoviy = new JButton("\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439");
		buttonNoviy.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String str=textField.getText().trim();
				if(str.isEmpty())
				{
					JOptionPane.showMessageDialog(null,
							"Введите путь к файлу","Ошибка",0);
					
				}
				else
				{
					File nf = new File(str);
					try
					{
						nf.createNewFile();
						JOptionPane.showMessageDialog(null,
								"Файл создан!","Сообщение",1);
					}
					catch(IOException exp)
					{
						JOptionPane.showMessageDialog(null,
								"Файл не создан!","Ошибка",0);	
					}
				}
			}
		});
		buttonNoviy.setBackground(Color.LIGHT_GRAY);
		buttonNoviy.setBounds(10, 36, 111, 23);
		contentPane.add(buttonNoviy);
		
		JButton buttonUdalit = new JButton("\u0423\u0434\u0430\u043B\u0438\u0442\u044C");
		buttonUdalit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String str=textField.getText().trim();
				if(str.isEmpty())
				{
					JOptionPane.showMessageDialog(null,
							"Введите путь к файлу","Ошибка",0);
					
				}
				else
				{
					File nf = new File(str);
					if (nf.exists())
					{
						nf.delete();
						JOptionPane.showMessageDialog(null,
								"Файл удален!","Сообщение",1);
					}
					else
					{
						JOptionPane.showMessageDialog(null,
								"Файл не найден!","Ошибка",0);	
					}
					
				}
			}
		});
		buttonUdalit.setBackground(Color.LIGHT_GRAY);
		buttonUdalit.setBounds(10, 66, 111, 23);
		contentPane.add(buttonUdalit);
		
		JButton buttonPereim = new JButton("\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C");
		buttonPereim.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String str=textField.getText().trim();
				if(str.isEmpty())
				{
					JOptionPane.showMessageDialog(null,
							"Введите путь к файлу","Ошибка",0);
					
				}
				else
				{
					File nf = new File(str);
					if (nf.exists())
					{
					String newName =
					JOptionPane.showInputDialog("Введите новое имя:");
					if (newName==null)newName="";
					if(!newName.trim().isEmpty())
					{
						File newFile =
						new File(nf.getParent()+"\\"+newName);
						nf.renameTo(newFile);
						JOptionPane.showMessageDialog(null,
								"Файл переименован!","Сообщение",1);
						
					}
					}
					else
					{
				JOptionPane.showMessageDialog(null, 
						"Файл не найден!","Ошибка",0);
					}
			}
		}});
		buttonPereim.setBackground(Color.LIGHT_GRAY);
		buttonPereim.setBounds(10, 99, 111, 23);
		contentPane.add(buttonPereim);
		
		JButton buttonproch = new JButton("\u041F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C");
		buttonproch.setBackground(Color.LIGHT_GRAY);
		buttonproch.setBounds(10, 133, 111, 23);
		contentPane.add(buttonproch);
		
		JButton buttonZap = new JButton("\u0417\u0430\u043F\u0438\u0441\u0430\u0442\u044C");
		buttonZap.setBackground(Color.LIGHT_GRAY);
		buttonZap.setBounds(10, 167, 111, 23);
		contentPane.add(buttonZap);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(140, 40, 284, 211);
		contentPane.add(scrollPane);
		
		JTextArea textArea = new JTextArea();
		scrollPane.setViewportView(textArea);
	}
}
˙ɐwɐvʞǝd ɐmɐʚ qɯıqƍ ɐvɹоw qɔǝɓε
Velvi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS SQL. Узнать новое имя базы данных в DDL триггере после переименования _SanR SQL, базы данных 0 12.05.2013 18:44
Макрос для переименования файла. galleon2006 Microsoft Office Word 11 26.09.2011 10:49
В адо изменить путь после кампиляции DennerV БД в Delphi 8 06.06.2009 10:53