????//??ζ?????У????????null????????
????while((tempString=reader.readLine())!=null){
????//????к?
????System.out.println("line"+line+":"+tempString);
????line++;
????}
????reader.close();
????}catch(IOExceptione){
????e.printStackTrace();
????}finally{
????if(reader!=null){
????try{
????reader.close();
????}catch(IOExceptione1){
????}
????}
????}
????}
????/**
????*?????????????
????*/
????publicstaticvoidreadFileByRandomAccess(StringfileName){
????RandomAccessFilerandomFile=null;
????try{
????System.out.println("?????????????????");
????//???????????????????????????
????randomFile=newRandomAccessFile(fileName??"r");
????//?????????????
????longfileLength=randomFile.length();
????//??????????λ??
????intbeginIndex=(fileLength>4)?4:0;
????//???????????λ?????beginIndexλ?á?
????randomFile.seek(beginIndex);
????byte[]bytes=newbyte[10];
????intbyteread=0;
????//??ζ?10???????????????????10???????????μ?????
????//????ζ?????????????byteread
????while((byteread=randomFile.read(bytes))!=-1){
????System.out.write(bytes??0??byteread);
????}
????}catch(IOExceptione){
????e.printStackTrace();
????}finally{
????if(randomFile!=null){
????try{
????randomFile.close();
????}catch(IOExceptione1){
????}
????}
????}
????}
????/**
????*??????????л?????????
????*/
????privatestaticvoidshowAvailableBytes(InputStreamin){
????try{
????System.out.println("?????????????е???????:"+in.available());
????}catch(IOExceptione){
????e.printStackTrace();
????}
????}
????publicstaticvoidmain(String[]args){
????StringfileName="C:/temp/newTemp.txt";
????ReadFromFile.readFileByBytes(fileName);
????ReadFromFile.readFileByChars(fileName);
????ReadFromFile.readFileByLines(fileName);
????ReadFromFile.readFileByRandomAccess(fileName);
????}
????}
????[Java]?????????????
????5???????????????β??
????[Java]?????????????
????publicclassAppendToFile{
????/**
????*A???????????????RandomAccessFile
????*/
????publicstaticvoidappendMethodA(StringfileName??Stringcontent){
????try{
????//???????????????????????д???
????RandomAccessFilerandomFile=newRandomAccessFile(fileName??"rw");
????//?????????????
????longfileLength=randomFile.length();
????//??д????????????β??
????randomFile.seek(fileLength);
????randomFile.writeBytes(content);
????randomFile.close();
????}catch(IOExceptione){
????e.printStackTrace();
????}
????}
????/**
????*B???????????????FileWriter
????*/
????publicstaticvoidappendMethodB(StringfileName??Stringcontent){
????try{
????//?????д??????????????е?????????true???????????д???
????FileWriterwriter=newFileWriter(fileName??true);
????writer.write(content);
????writer.close();
????}catch(IOExceptione){
????e.printStackTrace();
????}
????}
????publicstaticvoidmain(String[]args){
????StringfileName="C:/temp/newTemp.txt";
????Stringcontent="newappend!";
????//??????A??????
????AppendToFile.appendMethodA(fileName??content);
????AppendToFile.appendMethodA(fileName??"appendend. ");
????//??????????
????ReadFromFile.readFileByLines(fileName);
????//??????B??????
????AppendToFile.appendMethodB(fileName??content);
????AppendToFile.appendMethodB(fileName??"appendend. ");
????//??????????
????ReadFromFile.readFileByLines(fileName);
????}
????}