Скопировать выбранный файл в другую директорию - Java
Формулировка задачи:
Всем привет, помогите новичку с кодом, занимаюсь по книжке, вообщем задание было сделать программу графическую которая бы копировала выбранный файл, в другую директорию.
Собственно вод код.
Листинг программы
- 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();
- }
Решение задачи: «Скопировать выбранный файл в другую директорию»
textual
Листинг программы
- 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д