Reading/writing from/to files is an important component of many Java programs.
The File class from java.io package is used to represent a file in Java.
File inFile = new File("stuff.txt");
File inFile = new File("C:/data/stuff.txt");
File directory = new File("C:/data");
The following example code will display a does not exist message if the stuff.txt file is not in the current directory.
File inFile = new File("stuff.txt"); if(inFile.exists()==false) { System.out.println("stuff.txt does not exist"); }
The following example code will display a list of all of the filenames (but not subdirectory names) of the files in the specified directory.
String dirName = "c:/data/se1020/eclipse/se1020"; File directory = new File(dirName); if(directory.isDirectory()==false) { System.out.println(dirName + "does not exist"); } else { File[] files = directory.listFiles(); for(int i=0; i<files.length; ++i) { if(files[i].isFile()) { System.out.println(files[i]); } } }
File outFile = new File("test.dat"); if(!outFile.isDirectory()) { try { if(!outFile.isFile()) { outFile.createNewFile(); } boolean append = true; FileOutputStream out = new FileOutputStream(outFile, append); out.write('a'); out.write('d'); out.write(1000000); out.write(-1000000); byte[] byteArray = { 5, 20, 32, 'C', 'T' }; out.write(byteArray); System.out.println("Data written"); out.close(); } catch(FileNotFoundException e) { System.err.println("File not found"); System.err.println(e.getMessage()); } catch(IOException e) { System.err.println(e.getMessage()); } } else { System.err.println("Sorry. We can't append to a directory"); }
File inFile = new File("test.dat"); if(inFile.isFile()) { try { FileInputStream in = new FileInputStream(inFile); int i = in.read(); int j = in.read(); int k = in.read(); int l = in.read(); int m = in.read(); byte[] byteArray = new byte[5]; if(5!=in.read(byteArray)) { System.err.println("Couldn't find five bytes in the file"); } System.out.println("Data read"); in.close(); } catch(FileNotFoundException e) { System.err.println("File not found"); System.err.println(e.getMessage()); } catch(IOException e) { System.err.println(e.getMessage()); } }
File outFile = new File("test2.dat"); if(!outFile.isDirectory()) { try { if(!outFile.isFile()) { outFile.createNewFile(); } FileOutputStream out = new FileOutputStream(outFile, true); DataOutputStream dOut = new DataOutputStream(out); dOut.writeInt(43); dOut.writeBoolean(false); dOut.writeDouble(Math.PI); System.out.println("Data written"); dOut.close(); out.close(); } catch(FileNotFoundException e) { System.err.println("File not found"); System.err.println(e.getMessage()); } catch(IOException e) { System.err.println(e.getMessage()); } } else { System.err.println("Sorry. We can't append to a directory"); } File inFile = new File("test.dat"); if(inFile.isFile()) { try { FileInputStream in = new FileInputStream(inFile); DataInputStream dIn = new DataInputStream(in); int i = dIn.readInt(); boolean j = dIn.readBoolean(); double k = dIn.readDouble(); System.out.println("Data read"); } catch(FileNotFoundException e) { System.err.println("File not found"); System.err.println(e.getMessage()); } catch(IOException e) { System.err.println(e.getMessage()); } }
File outFile = new File("test.txt"); if(!outFile.isDirectory()) { try { if(!outFile.isFile()) { outFile.createNewFile(); } FileOutputStream outFS = new FileOutputStream(outFile, false); PrintWriter out = new PrintWriter(outFS); out.println("This is so much fun"); System.out.println("Data written"); out.close(); } catch(FileNotFoundException e) { System.err.println("File not found"); System.err.println(e.getMessage()); } catch(IOException e) { System.err.println(e.getMessage()); } } else { System.err.println("Sorry. We can't append to a directory"); }
File inFile = new File("test.txt"); if(inFile.isFile()) { try { FileInputStream inFS = new FileInputStream(inFile); Scanner in = new Scanner(inFS); while(in.hasNext()) { System.out.println(in.next()); } System.out.println("Data read"); } catch(FileNotFoundException e) { System.err.println("File not found"); System.err.println(e.getMessage()); } catch(IOException e) { System.err.println(e.getMessage()); } }
FileOutputStream fos = new FileOutputStream("test3.dat"); ObjectOutputStream out = new ObjectOutputStream(fos); out.writeInt(178); out.writeObject("I am a string"); out.writeObject(new Date()); out.close();
FileInputStream fis = new FileInputStream("test3.dat"); ObjectInputStream in = new ObjectInputStream(fis); int i = in.readInt(); String phrase = (String)in.readObject(); Date date = (Date)in.readObject(); in.close();
class SomeSillyClass implements Serializable { // ... }