码迷,mamicode.com
首页 > 其他好文 > 详细

文件操作练习

时间:2018-07-03 20:48:56      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:oid   ret   readline   class   start   ring   buffere   tar   写入   

package 文件管理;
import java.io.*;
public class Filechar {
        //对字符数组进行排序的类


               private String str;

               private char arrayList[];

               private BufferedReader br; //字符流

               private File f; //读取的文件

              

               Filechar( String s )

               {

                      f=new File( s );

               }

              

               public void start()

               {

                     

                      if( inputData()==-1 )

                      {

                             return;

                      }

                     

                      //对字符数组进行冒泡排序

                      sortChar(  );

              

                      //把排序后的数组变成字符串,并通过流将字符串写入b.txt文件中。

                      outputString();

                     

               }

              

               //通过BufferedReader读取文本中的字符串

               //读取文件失败返回-1,成功返回1

               private int  inputData()

               {

                      try

                      {

                             br=new BufferedReader( new FileReader(f));

                             //读取文本的内容

                             while( (str=br.readLine())!=null )

                             {

                                    //把所有字母转换为小写

                                    str.toLowerCase();

                                    arrayList=str.toCharArray();

                             }

                      }

                      catch( IOException e )

                      {

                             System.out.println( "读取文件出错!" );

                             e.printStackTrace();

                             return -1;              

                      }

                      finally

                      {

                             //关闭输入流

                             if( br!=null )

                             {

                                    try

                                    {

                                           br.close();

                                    }

                                    catch( IOException e )

                                    {

                                           e.printStackTrace();

                                    }

                             }

                      }

                      return 1;

               }

              

               //对字符数组进行冒泡排序

               private void sortChar(  )

               {

                      char temp=0;

                      for( int i=0; i<arrayList.length-1; i++ )

                      {

                             for( int j=0; j<arrayList.length-i-1; j++ )

                             {

                                    if( arrayList[j]>arrayList[j+1] )

                                    {

                                           temp=arrayList[j];

                                           arrayList[j]=arrayList[j+1];

                                           arrayList[j+1]=temp;            

                                    }

                             }

                      }

               }

              

               /*

               把排序后的数组变成字符串,并通过流将字符串写入b.txt文件中。

               a.通过String类的构造函数将字符数组变成字符串。

               b.通过FileWriter把字符串写入到b.txt文件中。

               */

               private void outputString()

               {

                      BufferedWriter bw=null;

                      try

                      {

                             FileWriter fw = new FileWriter("b.txt");

                             bw = new BufferedWriter(fw);

                            

                             //把排序完成后的字符串重新写入到文件中

                             bw.write( new String( arrayList,0,arrayList.length ));

                             bw.flush();

                      }

                      catch( IOException e )

                      {

                             e.printStackTrace();

                      }

                      finally

                      {

                             //关闭输入流

                             if( bw!=null )

                             {

                                    try

                                    {

                                           bw.close();

                                    }

                                    catch( IOException e )

                                    {

                                           e.printStackTrace();

                                    }

                             }

                      }

               }

        }

        

        class Demo

        {

               public static void main(String arsg[])

               {

                      new Filechar( "a.txt" ).start();

                     

               }

        }


文件操作练习

标签:oid   ret   readline   class   start   ring   buffere   tar   写入   

原文地址:https://www.cnblogs.com/wuli7102/p/9260457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!