Java reads a lot, FileInputStream, InputStreamReader, BufferedReader, write it down.
Public class readfromfile { /** * Read files in bytes, often used to read binary files, slices, sounds, images, and other files. */ Public Static void readfilebybytes(String fileName) {File File =NewFile (FileName); InputStream in =NULL;Try{System.out.println ("reads the contents of the file in bytes, one byte at a time:");//read one byte at a timein =NewFileInputStream (file);intTempbyte; while((Tempbyte = In.read ())! =-1) {System.out.write (tempbyte); } in.close (); }Catch(IOException e) {E.printstacktrace ();return; }Try{System.out.println ("read the contents of the file in bytes, read multiple bytes at a time:");//Read multiple bytes at a time byte[] Tempbytes =New byte[ -];intByteread =0; in =NewFileInputStream (FileName); Readfromfile.showavailablebytes (in);//Read into multiple bytes into a byte array, Byteread is the number of bytes read in at one time while((Byteread = In.read (tempbytes))! =-1) {System.out.write (tempbytes,0, Byteread); } }Catch(Exception E1) {E1.printstacktrace (); }finally{if(In! =NULL) {Try{In.close (); }Catch(IOException E1) { } } } }/** * Read files in characters, commonly used for reading text, numbers and other types of files * / Public Static void Readfilebychars(String fileName) {File File =NewFile (FileName); Reader reader =NULL;Try{System.out.println ("reads the contents of the file in characters, one byte at a time:");//read one character at a timeReader =NewInputStreamReader (NewFileInputStream (file));intTempchar; while((Tempchar = Reader.read ())! =-1) {//For Windows, \ r \ n These two characters are together to represent a newline. //But if the two characters are displayed separately, the lines are changed two times. //So, block \ r, or block \ n. Otherwise, there will be a lot more empty rows. if(((Char) tempchar)! =' \ r ') {System.out.print (Char) Tempchar); }} reader.close (); }Catch(Exception e) {E.printstacktrace (); }Try{System.out.println ("read the contents of the file in characters, read multiple bytes at a time:");//Read more than one character at a time Char[] Tempchars =New Char[ -];intCharread =0; Reader =NewInputStreamReader (NewFileInputStream (FileName));//Read multiple characters into a character array, charread to read characters at a time while((Charread = Reader.read (tempchars))! =-1) {//also shield off \ r not show if(Charread = = tempchars.length) && (Tempchars[tempchars.length-1] !=' \ r ') {System.out.print (tempchars); }Else{ for(inti =0; i < Charread; i++) {if(Tempchars[i] = =' \ r ') {Continue; }Else{System.out.print (tempchars[i]); } } } } }Catch(Exception E1) {E1.printstacktrace (); }finally{if(Reader! =NULL) {Try{Reader.close (); }Catch(IOException E1) { } } } }/** * Read files in behavioral units, often used to read line-oriented format files */ Public Static void Readfilebylines(String fileName) {File File =NewFile (FileName); BufferedReader reader =NULL;Try{System.out.println ("read the contents of the file in the behavior unit and read the entire line at a time:"); Reader =NewBufferedReader (NewFileReader (file)); String tempstring =NULL;intline =1;//read one line at a time until the end of the file is read in null while((tempstring = Reader.readline ())! =NULL) {//Show line numberSystem.out.println ("line"+ Line +": "+ tempstring); line++; } reader.close (); }Catch(IOException e) {E.printstacktrace (); }finally{if(Reader! =NULL) {Try{Reader.close (); }Catch(IOException E1) { } } } }/** * Random reading of file contents * * Public Static void readfilebyrandomaccess(String fileName) {Randomaccessfile Randomfile =NULL;Try{System.out.println ("Random reading of a file content:");//Open a random Access file stream as read-onlyRandomfile =NewRandomaccessfile (FileName,"R");//File length, number of bytes LongFilelength = Randomfile.length ();//Read the starting position of the file intBeginindex = (Filelength >4) ?4:0;//Move the starting position of the read file to the Beginindex location. Randomfile.seek (Beginindex);byte[] bytes =New byte[Ten];intByteread =0;//Read 10 bytes at a time and read the remaining bytes if the contents of the file are less than 10 bytes. //Assign the number of bytes read to Byteread while((byteread = randomfile.read (bytes))! =-1) {System.out.write (bytes,0, Byteread); } }Catch(IOException e) {E.printstacktrace (); }finally{if(Randomfile! =NULL) {Try{Randomfile.close (); }Catch(IOException E1) { } } } }/** * Shows the number of bytes left in the input stream */ Private Static void showavailablebytes(InputStream in) {Try{System.out.println ("The number of bytes in the current byte input stream is:"+ in.available ()); }Catch(IOException e) {E.printstacktrace (); } } Public Static void Main(string[] args) {String FileName ="C:/temp/newtemp.txt"; Readfromfile.readfilebybytes (FileName); Readfromfile.readfilebychars (FileName); Readfromfile.readfilebylines (FileName); Readfromfile.readfilebyrandomaccess (FileName); }}
Java Read Stream Summary