С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.06.2017
Сообщений: 5

Скопировать выбранный файл в другую директорию

04.07.2017, 08:39. Показов 1347. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, помогите новичку с кодом, занимаюсь по книжке, вообщем задание было сделать программу графическую которая бы копировала выбранный файл, в другую директорию.
Собственно вод код.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
 
public class Copyra implements ActionListener {
 
    JLabel label1, label2;
    JTextField field1, field2;
    JFileChooser choose1, choose2;
    JButton browse1, browse2, copyButton;
    JPanel windowContent;
    FileInputStream someFile = null;
    BufferedInputStream buff1 = null;
    FileOutputStream newFile = null;
    BufferedOutputStream buff2 = null;
 
    public Copyra() {
 
        GridLayout gl = new GridLayout(3,3);
        windowContent = new JPanel();
        windowContent.setLayout(gl);
 
        label1 = new JLabel("Choose file:");
        label2 = new JLabel("Select directory:");
 
        browse1 = new JButton("Browse");
        browse1.setBackground(Color.RED);
        browse1.addActionListener(this);
 
        browse2 = new JButton("Browse");
        browse2.setBackground(Color.YELLOW);
        browse2.addActionListener(this);
 
        copyButton = new JButton("Copy");
        copyButton.setBackground(Color.GREEN);
        copyButton.addActionListener(this);
 
        field1 = new JTextField();
        filed2 = new JTextField();
 
        public void actionPerformed(ActionEvent e) {
            choose1 = new JFileChooser();
            int a = choose1.showDialog(null, "Choose file");
            if (a == JFileChooser.APPROVE_OPTION) {
                File file1 = choose1.getSelectedFile();
                field1.setText(file1.getName());
            }
 
            choose2 = new JFileChooser();
            int b = choose2.showDialog(null, "Select directory");
            if (b == JFileChooser.APPROVE_OPTION) {
                File file2 = choose2.getSelectedFile();
                field2.setText(file2.getName());
            }
 
            JButton button = (JButton) e.getSource();
            if (button == copyButton) {
                try {
                    someFile = new FileInputStream(file1);
                    buff1 = new BufferedInputStream(someFile, 5000);
                    newFile = new FileOutputStream(file2);
                    buff2 = new BufferedOutputStream(newFile);
 
                    while (true) {
 
                        int byteValue = buff1.read();
                        buff2.write(byteValue);
 
                        if (byteValue == -1)
                            break;
                    }
            
                }
 
                catch (IOException e) {
                    System.out.println("Sorry operation failed " + e.toString());
                }
 
                finally {
                    try {
                        someFile.close();
                        newFile.close();
                    }
 
                    catch (Exception e1) {
                        e1.printStackTrace();
                    }
 
                    System.out.println("copy complete.");
                }
            }
 
        }
 
        windowContent.add(label1);
        windowContent.add(field1);
        windowContent.add(browse1);
        windowContent.add(label2);
        windowContent.add(field2);
        windowContent.add(browse2);
        windowContent.add(copyButton);
 
        JFrame frame = new Frame("Copyra");
        frame.setContentPane(windowContent);
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
 
    }
 
    public static void main(String[] args) {
        Copyra copyra = new Copyra();
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2017, 08:39
Ответы с готовыми решениями:

JFileChooser или как сохранить файл в нужную директорию
Доброго времени суток! Возникла проблема с сохранением файла в нужную директорию. Использовал для этого самый обычный JFileChooser, но...

Нужно скопировать файл, выбранный пользователем на другой РС, в конкретную директорию.
Нужно скопировать файл, выбранный пользователем на другой РС, в конкретную директорию.

CopyFile: скопировать файл в другую директорию с заменой имени
Здраствуйте помогите пожалуйста, первый раз пищу программу, ситуация заставила! Моя задача скопировать файл в другую директорию с заменой...

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.07.2017, 15:39
Цитата Сообщение от Dilmikus Посмотреть сообщение
омогите новичку с кодом
новичку не надо лезть в javaFx и прочие гуи, я считаю
0
0 / 0 / 0
Регистрация: 17.06.2017
Сообщений: 5
05.07.2017, 12:52  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
новичку не надо лезть в javaFx и прочие гуи, я считаю
Спасибо за ваше неравнодушие
0
0 / 0 / 0
Регистрация: 17.06.2017
Сообщений: 5
06.07.2017, 13:45  [ТС]
Всем привет пока что исправил свой код, но все же не могу прийти к пониманию как с помощью одного JFileChooser выбрать файл, с помощью второго JFileChooser выбрать директорию, и в итоге сохранить полученный файл и выбранной директории. как обычно код друзья.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
 
public class Copyra implements ActionListener {
 
    JLabel label1, label2, label3;
    JTextField field1, field2;
    JFileChooser choose1, choose2;
    JButton browse1, browse2, copyButton;
    JPanel windowContent;
    FileInputStream someFile = null;
    BufferedInputStream buff1 = null;
    FileOutputStream newFile = null;
    BufferedOutputStream buff2 = null;
 
    public Copyra() {
 
        GridLayout gl = new GridLayout(3,3);
        windowContent = new JPanel();
        windowContent.setLayout(gl);
 
        label1 = new JLabel("Choose file:");
        label2 = new JLabel("Select directory:");
        label3 = new JLabel();
 
        browse1 = new JButton("Browse");
        browse1.setBackground(Color.RED);
        browse1.addActionListener(this);
 
        browse2 = new JButton("Browse");
        browse2.setBackground(Color.YELLOW);
        browse2.addActionListener(this);
 
        copyButton = new JButton("Copy");
        copyButton.setBackground(Color.GREEN);
        copyButton.addActionListener(this);
 
        field1 = new JTextField();
        field2 = new JTextField();
 
        
        windowContent.add(label1);
        windowContent.add(field1);
        windowContent.add(browse1);
        windowContent.add(label2);
        windowContent.add(field2);
        windowContent.add(browse2);
        windowContent.add(label3);
        windowContent.add(copyButton);
 
        JFrame frame = new JFrame("Copyra");
        frame.setContentPane(windowContent);
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
 
    }
 
    public void actionPerformed(ActionEvent e) {
        JButton button = (JButton) e.getSource();
 
        if (button == browse1) {
            choose1 = new JFileChooser();
            choose1.showDialog(null, "Choose file");
            File file1 = choose1.getSelectedFile();
            field1.setText(file1.getName());
        }
 
        if (button == browse2) {
            choose2 = new JFileChooser();
            choose2.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            choose2.showDialog(null, "Select directory");
            File file2 = choose2.getSelectedFile();
            field2.setText(file2.getName());
        }
 
    
        if (button == copyButton) {
            someFile = new FileInputStream(choose1.getSelectedFile());
            buff1 = new BufferedInputStream(someFile);
            File file3 = (File).createNewFile();
            newFile = new FileOutputStream(choose2.getSelectedFile()+file);
            buff2 = new BufferedOutputStream(newFile);
            
            while (true) {
 
                int byteValue = buff1.read();
                buff2.write(byteValue);
 
                if (byteValue == -1)
                    break;
            }
        }
 
    }
 
 
    public static void main(String[] args) {
        Copyra copyra = new Copyra();
    }
}
0
0 / 0 / 0
Регистрация: 17.06.2017
Сообщений: 5
08.07.2017, 07:37  [ТС]
Все разобрался. Спасибо за ваше равнодушие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.07.2017, 07:37
Помогаю со студенческими работами здесь

Как скопировать выделенный файл в listbox и переместить/скопировать в нужную директорию?
Как скопировать выделенный файл в listbox и переместить/скопировать в нужную директорию? вот код выделенного файла в папке : string str...

Скопировать файл в директорию
Доброго времяни суток господа, помогите. <?php $bir = $_GET; if (mkdir($bir,0777)) { echo "ok1"; } $dir = opendir($bir); {...

Как скопировать файл выбранный в OpenFileDialog?
Как можно реализовать копирование файла, выбранного в OpenFileDialog ofd = new OpenFileDialog();, в указанную папку?

Как скопировать файл в системную директорию
Ребята подскажите пожалуйста, как скопировать файл в системную директорию независимо от буквы диска?

Скопировать файл выбранный в ListBox в папку выбранную через FolderBrowserDialog
Короче есть список файлов в listbox1, как выбранный файл скопировать в выбранную папку в folderbrowserdialog? Есть какие то догадки методом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru