Files examples

Click here to download eclipse supported ZIP file



This is AppendContentToExistingFile.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.IOException;

/**
 @author Chandra Vardhan
 */
public class AppendContentToExistingFile {

  /**
   @param args
   */
  public static void main(String[] args) {
    createNewFile();
  }

  private static void createNewFile() {
    try {
      String filename = "file.txt";
      String absoluteFilePath = System.getProperty("user.dir"+ File.separator + filename;
      File file = new File(absoluteFilePath);
      if (file.createNewFile()) {
        System.out.println("File is created!");
      else {
        System.out.println("File is already existed!");
      }
      System.out.println("Created file path : : " + file.getAbsolutePath());
    catch (IOException e) {
      e.printStackTrace();
    }
  }
  
}


This is BufferedInputStreamExample.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;

/**
 @author Chandra Vardhan
 
 */
public class BufferedInputStreamExample {

  public static void main(String[] args) {

    File file = new File("C:/temp/test.txt");

    BufferedInputStream bis = null;
    try {
      if (file.createNewFile()) {
        writeContentToCreatedFile(file);
      }
      bis = new BufferedInputStream(new FileInputStream(file));
      int val;
      while ((val = bis.read()) != -1) {
        System.out.print((char)val);
      }
    catch (IOException e) {
      e.printStackTrace();
    finally {
      try {
        bis.close();
      catch (IOException ex) {
        ex.printStackTrace();
      }
    }
  }

  private static void writeContentToCreatedFile(final File file) {
    PrintWriter pw = null;
    try {
      pw = new PrintWriter(file);
      pw.write("This is the test content line one!!!\n");
      pw.write("This is the test content line two!!!\n");
      pw.write("This is the test content line three!!!");
      pw.flush();
    catch (IOException e) {
      e.printStackTrace();
    finally {
      if (pw != null)
        pw.close();
    }
  }
}


This is BufferedReaderExample.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;

/**
 @author Chandra Vardhan
 
 */
public class BufferedReaderExample {

  public static void main(String[] args) {
    File file = new File("C:/temp/test.txt");
    BufferedReader br = null;
    try {
      if (file.createNewFile()) {
        writeContentToCreatedFile(file);
      }
      String line = "";
      br = new BufferedReader(new FileReader(file));
      while ((line = br.readLine()) != null) {
        System.out.println(line);
      }

    catch (IOException e) {
      e.printStackTrace();
    finally {
      try {
        if (br != null)
          br.close();
      catch (IOException ex) {
        ex.printStackTrace();
      }
    }

  }

  private static void writeContentToCreatedFile(final File file) {
    PrintWriter pw = null;
    try {
      pw = new PrintWriter(file);
      pw.write("This is the test content line one!!!\n");
      pw.write("This is the test content line two!!!\n");
      pw.write("This is the test content line three!!!");
      pw.flush();
    catch (IOException e) {
      e.printStackTrace();
    finally {
      if (pw != null)
        pw.close();
    }
  }
}


This is ChangeCurrentDateAsLastModifiedDate.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 @author Chandra Vardhan
 
 */
public class ChangeCurrentDateAsLastModifiedDate {

  public static void main(String[] args) {

    try {
      File file = new File("C:\\cv\\logfile.log");
      file = ensureDirFileAvailable(file);
      // print the original last modified date
      SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
      System.out.println("Original Last Modified Date : " + sdf.format(file.lastModified()));
      String currentDate = sdf.format(new Date());      
      // need convert the above date to milliseconds in long value
      Date newDate = sdf.parse(currentDate);
      file.setLastModified(newDate.getTime());

      // print the latest last modified date
      System.out.println("Lastest Last Modified Date : " + sdf.format(file.lastModified()));

    catch (ParseException e) {
      e.printStackTrace();
    }

  }

  private static File ensureDirFileAvailable(final File file) {
    File result = file;
    try {
      if (result == null) {
        result = provideDummyFile();
      }
      if (result != null) {
        if (result.isFile() || !result.exists()) {
          File parentFile = result.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          result.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }

  private static File provideDummyFile() {
    return new File("C:/cv/test.txt");
  }
}


This is ChangeLastModifiedDate.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 @author Chandra Vardhan
 
 */
public class ChangeLastModifiedDate {

  public static void main(String[] args) {

    try {
      File file = new File("C:\\cv\\logfile.log");
      file = ensureDirFileAvailable(file);
      // print the original last modified date
      SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
      System.out.println("Original Last Modified Date : " + sdf.format(file.lastModified()));

      // set this date
      String newLastModified = "01/30/1998 11:23 PM";

      // need convert the above date to milliseconds in long value
      Date newDate = sdf.parse(newLastModified);
      file.setLastModified(newDate.getTime());

      // print the latest last modified date
      System.out.println("Lastest Last Modified Date : " + sdf.format(file.lastModified()));

    catch (ParseException e) {
      e.printStackTrace();
    }

  }
  private static File ensureDirFileAvailable(final File file) {
    File result = file;
    try {
      if (result == null) {
        result = provideDummyFile();
      }
      if (result != null) {
        if (result.isFile() || !result.exists()) {
          File parentFile = result.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          result.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }
  
  private static File provideDummyFile() {
    return new File("C:/cv/test.txt");
  }
}


This is CreateFileBasedOnOperatingSystem.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.IOException;

/**
 @author Chandra Vardhan
 
 */
public class CreateFileBasedOnOperatingSystem {
  public static void main(String[] args) {
    try {
      String filename = "test.txt";
      String absoluteFilePath = "";
      String os = System.getProperty("os.name").toLowerCase();
      String currentDir = System.getProperty("user.dir");
      if (os != null && os.indexOf("window">= 0) {
        // if windows
        absoluteFilePath = currentDir + "\\" + filename;

      else if (os != null && os.indexOf("nix">= || os.indexOf("nux">= || os.indexOf("mac">= 0) {

        // if unix or mac
        absoluteFilePath = currentDir + "/" + filename;

      else {
        // unknow os?
        absoluteFilePath = currentDir + "/" + filename;

      }
      File file = new File(absoluteFilePath);

      if (file.createNewFile()) {
        System.out.println("File has been created!");
      else {
        System.out.println("File already exists!");
      }
      System.out.println("File path is : : " + absoluteFilePath);

    catch (IOException e) {
      e.printStackTrace();
    }
  }
}


This is CreateFileInProjectORApp.java file having the source code to execute business logic.



 

    
package com.cv.java.files;
import java.io.File;
import java.io.IOException;
/**
 @author Chandra Vardhan
 
 */
public class CreateFileInProjectORApp {
  public static void main(String[] args) {
    try {
    String filename = "file.txt";
    String absoluteFilePath = System.getProperty("user.dir"+ File.separator + filename;
    File file = new File(absoluteFilePath);
    if (file.createNewFile()) {
      System.out.println("File is created!");
    else {
      System.out.println("File is already existed!");
    }
    System.out.println("Created file path : : " + file.getAbsolutePath());
    catch (IOException e) {
    e.printStackTrace();
    }
  }
}




This is CreateFileInsideProject.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.IOException;
/**
 @author Chandra Vardhan
 
 */
public class CreateFileInsideProject {
  public static void main(String[] args) {
    try {
      String filename = "file.txt";
      File file = new File(System.getProperty("user.dir"), filename);
      if (file.createNewFile()) {
        System.out.println("File is created!");
      else {
        System.out.println("File is already existed!");
      }
      System.out.println("Created file path : : " + file.getAbsolutePath());
    catch (IOException e) {
      e.printStackTrace();
    }
  }
}


This is CreateNewFileSpecifiedLocation.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.IOException;
/**
 @author Chandra Vardhan
 
 */
public class CreateNewFileSpecifiedLocation {

  public static void main(String[] args) {
    try {
      final String location = "c:\\temp\\one.txt";
      File file = new File(location);
      if (file.createNewFile()) {
        System.out.println("File is created!");
      else {
        System.out.println("File already exist.");
      }
    catch (IOException e) {
      e.printStackTrace();
    }
  }
}


This is DeleteFileBasedOnExtension.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.FilenameFilter;
/**
 @author Chandra Vardhan
 *
 */
public class DeleteFileBasedOnExtension {

  private static final String FILE_DIR = "c:\\cv\\";
  private static final String FILE_TEXT_EXT = ".txt";

  public static void main(String args[]) {
    ensureDirFileAvailable(FILE_DIR);
    new DeleteFileBasedOnExtension().deleteFile(FILE_DIR, FILE_TEXT_EXT);
  }
  private static String ensureDirFileAvailable(final String fileAbsolutePath) {
    String result = fileAbsolutePath;
    try {
      if (result == null) {
        result = provideDummyFileStr();
      }
      if (result != null) {
        File file = new File(result);
        if (file.isFile() || !file.exists()) {
          File parentFile = file.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          file.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }
  public void deleteFile(final String folder, final String ext) {

    GenericExtFilter filter = new GenericExtFilter(ext);
    File dir = new File(folder);

    // list out all the file name with .txt extension
    String[] list = dir.list(filter);

    if (list.length == 0)
      return;

    File fileDelete;

    for (String file : list) {
      String temp = new StringBuffer(FILE_DIR).append(File.separator).append(file).toString();
      fileDelete = new File(temp);
      boolean isdeleted = fileDelete.delete();
      System.out.println("file : " + temp + " is deleted : " + isdeleted);
    }
  }

  // inner class, generic extension filter
  public class GenericExtFilter implements FilenameFilter {

    private String ext;

    public GenericExtFilter(String ext) {
      this.ext = ext;
    }

    public boolean accept(File dir, String name) {
      return (name.endsWith(ext));
    }
  }
  
  private static String provideDummyFileStr() {
    return "C:/cv/test.txt";
  }
}


This is DiskSpaceDetails.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
/**
 @author Chandra Vardhan
 
 */
public class DiskSpaceDetails {

  public static void main(String[] args) {
    File file = new File("c:");
    long totalSpace = file.getTotalSpace()// total disk space in bytes.
    long usableSpace = file.getUsableSpace()/// unallocated / free disk
                          /// space in bytes.
    long freeSpace = file.getFreeSpace()// unallocated / free disk space
                        // in bytes.

    System.out.println(" === Partition Detail ===");

    System.out.println(" === bytes ===");
    System.out.println("Total size : " + totalSpace + " bytes");
    System.out.println("Space free : " + usableSpace + " bytes");
    System.out.println("Space free : " + freeSpace + " bytes");

    System.out.println(" === mega bytes ===");
    System.out.println("Total size : " + totalSpace / 1024 1024 " MB");
    System.out.println("Space free : " + usableSpace / 1024 1024 " MB");
    System.out.println("Space free : " + freeSpace / 1024 1024 " MB");
    
    System.out.println(" === Giga bytes ===");
    System.out.println("Total size : " + totalSpace / 1024 1024 1024 " GB");
    System.out.println("Space free : " + usableSpace / 1024 1024 1024 " GB");
    System.out.println("Space free : " + freeSpace / 1024 1024 1024 " GB");
    
    
  }
}


This is FileHidden.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.IOException;

public class FileHidden {

  public static void main(String[] argsthrows IOException {
    String fileName = "c:\\cv\\local\\test3.csv";

    ensureDirFileAvailable(fileName);
    
    File file = new File(fileName);
    
    if (file.isHidden()) {
      System.out.println("This file is hidden");
    else {
      System.out.println("This file is not hidden");
    }
  }
  private static String ensureDirFileAvailable(final String fileAbsolutePath) {
    String result = fileAbsolutePath;
    try {
      if (result == null) {
        result = provideDummyFileStr();
      }
      if (result != null) {
        File file = new File(result);
        if (file.isFile() || !file.exists()) {
          File parentFile = file.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          file.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }
  private static String provideDummyFileStr() {
    return "C:/cv/local/test.csv";
  }
}


This is FileLastModifiedDate.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.text.SimpleDateFormat;
/**
 @author Chandra Vardhan
 
 */
public class FileLastModifiedDate {

  public static void main(String[] args) {
    
    File file = new File("c:\\cv\\logfile.log");
    
     file = ensureDirFileAvailable(file);

    System.out.println("Before Format : " + file.lastModified());

    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm a");

    System.out.println("After Format : " + sdf.format(file.lastModified()));
  }
  
  private static File ensureDirFileAvailable(final File file) {
    File result = file;
    try {
      if (result == null) {
        result = provideDummyFile();
      }
      if (result != null) {
        if (result.isFile() || !result.exists()) {
          File parentFile = result.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          result.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }

  private static File provideDummyFile() {
    return new File("C:/cv/test.txt");
  }
}


This is FileOutputStreamExample.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 @author Chandra Vardhan
 
 */
public class FileOutputStreamExample {
  public static void main(String[] args) {
    FileOutputStream fop = null;
    File file;
    final String content = "This is the text content line one.\nThis is the text content line two.";
    try {
      file = new File("c:/temp/test.txt");
      fop = new FileOutputStream(file);
      // if file doesnt exists, then create it
      if (!file.exists()) {
        file.createNewFile();
      }
      // get the content in bytes
      fop.write(content.getBytes());
      fop.flush();
      System.out.println("Writting completed!!!");
    catch (IOException e) {
      e.printStackTrace();
    finally {
      try {
        if (fop != null) {
          fop.close();
        }
      catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
}


This is FilePathComapare.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
/**
 @author Chandra Vardhan
 
 */
public class FilePathComapare {
  public static void main(String[] args) {
    File file1 = new File("C:/temp/demo1.txt");
    File file2 = new File("C:/java/demo1.txt");
    if (file1.compareTo(file2== 0) {
      System.out.println("Both paths are same!");
    else {
      System.out.println("Paths are not same!");
    }
    System.out.println("==========================");
    File file3 = new File("C:/temp/demo1.txt");
    if (file3.compareTo(file1== 0) {
      System.out.println("Both paths are same!");
    else {
      System.out.println("Paths are not same!");
    }
  }
}


This is FileUtils.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.io.IOUtils;

/**
 @author Chandra Vardhan
 *
 */
public class FileUtils {  
  
  public static boolean filesCompare(final File file1, final File file2 ) {
    if(file1 == null || file2 == null) {
      System.out.println("Please provide correct file paths");
      return false;
    }
    return file1.compareTo(file2== ;
  
  }
  
  public static String copySourceToDestination(final File file1, final File file2 ) {
    if(file1 != null && file2 != null) {      
      try {
        IOUtils.copy(new FileInputStream(file1)new FileOutputStream(file2));
      catch (FileNotFoundException e) {
        e.printStackTrace();
      catch (IOException e) {
        e.printStackTrace();
      }      
      return "copied successfully.";
    else {
      return "Please provide valid source and destination!";
    }
  
  }
  
  
  public static String copySourceToDestination(final String file1, final String file2 ) {
    if(file1 != null && file2 != null) {      
      try {
        IOUtils.copy(new FileInputStream(new File(file1))new FileOutputStream(new File(file2)));
      catch (FileNotFoundException e) {
        e.printStackTrace();
      catch (IOException e) {
        e.printStackTrace();
      }      
      return "copied successfully.";
    else {
      return "Please provide valid source and destination!";
    }
  
  }
  
  
  
}


This is FileWrite.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

/**
 @author Chandra Vardhan
 *
 */
public class FileWrite {

  /**
   @param args
   */
  public static void main(String[] args) {
    FileWrite.writeContentToCreatedFile("c:/cv/test2.txt"null);
    FileWrite.appendContentToExistingFile("c:/cv/test2.txt"null);
  }

  public static void writeContentToCreatedFile(final File file, List<String> content) {
    File tempFile = file;
    PrintWriter pw = null;
    try {
      tempFile = ensureDirFileAvailable(tempFile);
      pw = new PrintWriter(tempFile);
      if (content == null || !content.isEmpty()) {
        content = provideDummyContent();
      }
      for (String value : content) {
        pw.write(value + "\n");
      }
      pw.flush();
    catch (IOException e) {
      e.printStackTrace();
    finally {
      if (pw != null)
        pw.close();
    }
  }

  public static void writeContentToCreatedFile(final String file, List<String> content) {
    String tempFile = file;
    PrintWriter pw = null;
    try {
      tempFile = ensureDirFileAvailable(tempFile);
      pw = new PrintWriter(tempFile);
      if (content == null || !content.isEmpty()) {
        content = provideDummyContent();
      }
      for (String value : content) {
        pw.write(value + "\n");
      }
      pw.flush();
    catch (IOException e) {
      e.printStackTrace();
    finally {
      if (pw != null)
        pw.close();
    }
  }

  public static void appendContentToExistingFile(final File file, List<String> content) {
    PrintWriter pw = null;
    File tempFile = file;
    try {
      tempFile = ensureDirFileAvailable(tempFile);
      pw = new PrintWriter(new FileOutputStream(tempFile, true));
      if (content == null || !content.isEmpty()) {
        content = provideDummyContent();
      }
      for (String value : content) {
        pw.write(value + "\n");
      }
      pw.flush();
    catch (IOException e) {
      e.printStackTrace();
    finally {
      if (pw != null)
        pw.close();
    }
  }

  public static void appendContentToExistingFile(final String file, List<String> content) {
    String tempFile = file;
    PrintWriter pw = null;
    try {
      tempFile = ensureDirFileAvailable(tempFile);
      pw = new PrintWriter(new FileOutputStream(tempFile, true));
      if (content == null || !content.isEmpty()) {
        content = provideDummyContent();
      }
      for (String value : content) {
        pw.write(value + "\n");
      }
      pw.flush();
    catch (IOException e) {
      e.printStackTrace();
    finally {
      if (pw != null)
        pw.close();
    }
  }

  private static List<String> provideDummyContent() {
    List<String> content = new ArrayList<String>();
    for (int i = 1; i <= 5; ++i) {
      content.add("" + i);
    }
    return content;
  }

  private static String ensureDirFileAvailable(final String fileAbsolutePath) {
    String result = fileAbsolutePath;
    try {
      if (result == null) {
        result = provideDummyFileStr();
      }
      if (result != null) {
        File file = new File(result);
        if (file.isFile() || !file.exists()) {
          File parentFile = file.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          file.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }
  
  private static File ensureDirFileAvailable(final File file) {
    File result = file;
    try {
      if (result == null) {
        result = provideDummyFile();
      }
      if (result != null) {
        if (result.isFile() || !result.exists()) {
          File parentFile = result.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          result.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }

  private static String provideDummyFileStr() {
    return "C:/cv/test.txt";
  }

  private static File provideDummyFile() {
    return new File("C:/cv/test.txt");
  }

}


This is GetFileCreationDateTimeSize.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
 @author Chandra Vardhan
 
 */
public class GetFileCreationDateTimeSize {
  
  public static void main(String[] args) {

    try {
      
      String fileName = "c:\\cv\\local\\test3.csv";

      ensureDirFileAvailable(fileName);
      
      Process proc = Runtime.getRuntime().exec("cmd /c dir "+fileName+" /tc");

      BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));

      String data = "";

      for (int i = 0; i < 6; i++) {
        data = br.readLine();
      }

      System.out.println("Extracted value : " + data);

      // split by space
      StringTokenizer st = new StringTokenizer(data);
      String date = st.nextToken();// Get date
      String time = st.nextToken();// Get time

      System.out.println("Creation Date  : " + date);
      System.out.println("Creation Time  : " + time);

    catch (IOException e) {

      e.printStackTrace();

    }

  }
  
  private static String ensureDirFileAvailable(final String fileAbsolutePath) {
    String result = fileAbsolutePath;
    try {
      if (result == null) {
        result = provideDummyFileStr();
      }
      if (result != null) {
        File file = new File(result);
        if (file.isFile() || !file.exists()) {
          File parentFile = file.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          file.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }
  private static String provideDummyFileStr() {
    return "C:/cv/local/test.csv";
  }
}


This is MakeFileReadonly.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
/**
 @author Chandra Vardhan
 
 */
public class MakeFileReadonly {

  public static void main(String[] args) {
    File file = new File("c:/cv/file.txt");
    file = ensureDirFileAvailable(file);
    if (file.canWrite()) {
      System.out.println("This file is writable");
    else {
      System.out.println("This file is read only");
    }
    file.setReadOnly();
    if (file.canWrite()) {
      System.out.println("This file is writable");
    else {
      System.out.println("This file is read only");
    }
  }

  private static File ensureDirFileAvailable(final File file) {
    File result = file;
    try {
      if (result == null) {
        result = provideDummyFile();
      }
      if (result != null) {
        if (result.isFile() || !result.exists()) {
          File parentFile = result.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          result.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }

  private static File provideDummyFile() {
    return new File("C:/cv/test.txt");
  }

}


This is SetFilePermissions.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.File;
import java.io.IOException;

/**
 @author Chandra Vardhan
 
 */
public class SetFilePermissions {
  public static void main(String[] args) {
    try {

      File file = new File("/script.sh");
      if (file.exists()) {
        System.out.println("Can Execute allow : " + file.canExecute());
        System.out.println("Can Write allow : " + file.canWrite());
        System.out.println("Can Read allow : " + file.canRead());
      }
      file.setExecutable(false);
      file.setReadable(false);
      file.setWritable(false);
      System.out.println("IS Execute allow : " + file.canExecute());
      System.out.println("Is Write allow : " + file.canWrite());
      System.out.println("Is Read allow : " + file.canRead());
      if (file.createNewFile()) {
        System.out.println("File has been created!");
      else {
        System.out.println("File already exists.");
      }
      System.out.println("File path : : " + file.getAbsolutePath());
    catch (IOException e) {
      e.printStackTrace();
    }
  }
}


This is UTF8FileRead.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

public class UTF8FileRead {
  public static void main(String[] args) {

    try {
      String file = "C:/cv/local/test3.txt";
      File fileDir = new File(file);
      ensureDirFileAvailable(file);
      BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileDir)"UTF8"));

      String str;

      while ((str = in.readLine()) != null) {
        System.out.println(str);
      }

      in.close();
    catch (UnsupportedEncodingException e) {
      System.out.println(e.getMessage());
    catch (IOException e) {
      System.out.println(e.getMessage());
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
  }
  private static String ensureDirFileAvailable(final String fileAbsolutePath) {
    String result = fileAbsolutePath;
    try {
      if (result == null) {
        result = provideDummyFileStr();
      }
      if (result != null) {
        File file = new File(result);
        if (file.isFile() || !file.exists()) {
          File parentFile = file.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          file.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }

  private static String provideDummyFileStr() {
    return "C:/cv/local/test.csv";
  }
}


This is UTF8FileWrite.java file having the source code to execute business logic.



 

    
package com.cv.java.files;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
/**
 @author Chandra Vardhan
 
 */
public class UTF8FileWrite {
  public static void main(String[] args) {
    Writer out = null;
    try {
      String file = "C:/cv/local/test3.txt";
      File fileDir = new File(file);
      ensureDirFileAvailable(file);
      out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir)"UTF8"));
      out.append("Website UTF-8").append("\r\n");
      out.append("?? UTF-8").append("\r\n");
      out.append("??????? UTF-8").append("\r\n");
      out.flush();
    catch (UnsupportedEncodingException e) {
      System.err.println(e.getMessage());
    catch (IOException e) {
      System.err.println(e.getMessage());
    catch (Exception e) {
      System.err.println(e.getMessage());
    finally {
      if (out != null) {
        try {
          out.close();
        catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }

  private static String ensureDirFileAvailable(final String fileAbsolutePath) {
    String result = fileAbsolutePath;
    try {
      if (result == null) {
        result = provideDummyFileStr();
      }
      if (result != null) {
        File file = new File(result);
        if (file.isFile() || !file.exists()) {
          File parentFile = file.getParentFile();
          if (parentFile != null && !parentFile.exists()) {
            parentFile.mkdirs();
          }
          file.createNewFile();
        }
      }
    catch (Exception e) {
      System.err.println("Problem while accessing the file path : : " + result);
      e.printStackTrace();
    }
    return result;
  }

  private static String provideDummyFileStr() {
    return "C:/cv/local/test.csv";
  }
}


This is pom.xml file having the entries of dependency jars and information to build the application .



	
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cv.java.file</groupId> <artifactId>Files</artifactId> <version>1.0</version> <dependencies> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </pluginManagement> <finalName>Files</finalName> </build> </project>


This is log4j.properties file having the entries for logging the information into the console/file.




#By default enabling Console appender
# Root logger option
log4j.rootLogger=INFO, stdout

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%c]:%L -->> %m%n

# Redirect log messages to a log file
#log4j.appender.file=org.apache.log4j.RollingFileAppender
#log4j.appender.file.File=C:\servlet-application.log
#log4j.appender.file.MaxFileSize=5MB
#log4j.appender.file.MaxBackupIndex=10
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

No comments:

Post a Comment