Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*; // for file input/output
- import javax.swing.*; // required for input dialogs
- import javax.swing.filechooser.FileFilter; // for choosing file name
- public class FileCopy {
- /**
- * Program: FileCopy.java
- * Purpose: Copy a text file to another file or directory
- * Creator: Chris Clarke
- * Created: 26.12.2012
- * Modified: 26.05.2013 for verbose type: java FileCopy -v
- * 31.05.2013 MyTextFilter added (*.java, *.txt)
- */
- public static void main(String[] args) {
- boolean ver = false;
- if (args.length>0) {
- if (args[0].equals("-v")) {
- ver = true;
- } else {
- System.out.println("Type \"-v\" for verbose");
- }//end if
- }//end if
- String allText = openTextFile(ver);
- saveAsTextFile( allText);
- }// end main
- public static String openTextFile(boolean verbose) {
- String textInput = "";
- try {
- // open a file chooser
- JFileChooser chooser = new JFileChooser();
- chooser.setCurrentDirectory(new File("."));
- chooser.setFileFilter(new MyTextFilter());
- if (chooser.showOpenDialog(null) != 1) { // not cancel button
- String filename = chooser.getSelectedFile().getPath();
- if (filename != null) {
- String str=" "; // anything but null
- BufferedReader fr = new BufferedReader(new FileReader( filename));
- LineNumberReader lnr = new LineNumberReader(fr);
- while (str != null) {
- str = lnr.readLine();
- if (str==null) break;
- if (verbose) {
- System.out.println(str); // display text
- }//end if
- // add text to textInput
- textInput += str + "\r\n";
- }//end while
- lnr.close();
- fr.close();
- }//end if
- } else {//file dialog closed
- System.out.println("Program closing");
- System.exit(1);
- }//end if
- }
- catch (IOException x) {
- System.out.println("Caught IOException");
- }
- return textInput;
- }// end openTextFile
- public static void saveAsTextFile(String completeText) {
- // open a file chooser
- JFileChooser chooser = new JFileChooser();
- chooser.setCurrentDirectory(new File("."));
- chooser.setFileFilter(new MyTextFilter());
- chooser.setAcceptAllFileFilterUsed(true);
- if (chooser.showSaveDialog(null) == 1) {
- System.out.println("File not copied!");
- return; // cancel button
- }//end if
- String filename = chooser.getSelectedFile().getPath();
- if (filename == null) {
- System.out.println("File not copied!");
- return;
- }//end if
- try {
- BufferedWriter fw = new BufferedWriter(new FileWriter( filename));
- fw.write(completeText);
- fw.close();
- System.out.println("File copied successfully.");
- }
- catch (IOException x) {
- System.out.println("Caught IOException");
- }
- }// end saveAsTextFile
- }// end class
- class MyTextFilter extends FileFilter {
- public boolean accept(File f) {
- return f.getName().toLowerCase().endsWith(".txt") ||
- f.getName().toLowerCase().endsWith(".java") || f.isDirectory();
- }
- public String getDescription() {
- return "Text File (*.txt, *.java)";
- }
- }//end class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement