Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JTextArea has to be updated when copying directories and files

 
Kamal ddddd
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have a JTextArea and wanted to show the directories and files being copied. Here is my code but no idea how to proceed(Basically, I want all the System.out.println statements in the code to be shown in TextArea. I used append but it doesn't do anything. Can someone help

public class copy {

public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Copy c = new Copy();
c.setTitle("Copy folders");
c.setVisible(true);
}
});

JPanel jp = new JPanel();

TextArea ta = new JTextArea(5, 50);
ta.setEditable(false);
DefaultCaret caret = (DefaultCaret) ta.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
JScrollPane scrollPane = new JScrollPane(ta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setBounds(6, 625, 1035, 296);
jp.add(scrollPane); //Adding to JPanel
}

public Copy() {
build();
}

public void build() {
String source = "\\hostname\\d$\\somedirecotry";
String detination = "\\C:\\foldername";
File s = new File(source);
File s2 = new File(detination);

if (!s.exists()) {
System.out.println("Directory does not exist.");
} else if (!s2.exists()) {
System.out.println("Directory is not accessible or Server is down");
} else {
try {
copyFolder(s, s2);
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
}
System.out.println("Done");
}

public static void copyFolder(File src, File dest)
throws IOException {
if (src.isDirectory()) {
//if directory not exists, create it
if (!dest.exists()) {
dest.mkdir();
System.out.println("Directory copied from " + src + " to " + dest);
}

//list all the directory contents
String files[] = src.list();

for (String file : files) {
File srcFile = new File(src, file);
File destFile = new File(dest, file);
copyFolder(srcFile, destFile);
}
} else {
//if file, then copy it
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest);

byte[] buffer = new byte[1024];

int length;
//copy the file content in bytes
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}

in.close();
out.close();
System.out.println("File copied from " + src + " to " + dest);
}
}
}
 
Michael Dunn
Ranch Hand
Posts: 4632
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic