• 文件管理


    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();

                         

                   }

            }

  • 相关阅读:
    人生,时间煮雨,岁月缝花
    Nginx入门到实践---nginx中间件
    CentOS 8 系统安装 Oracle 19c 数据库
    centos8 下安装Oracle jdk8(免安装版)
    Mysql忘记密码
    这个病秋季高发!调理不当最伤孩子体质,记得收好这2个方
    redis client-output-buffer-limit 设置
    redis主从同步收到以下参数影响
    linux:永久打开core文件功能
    linux:core文件的产生和调试
  • 原文地址:https://www.cnblogs.com/zw98916/p/9260305.html
Copyright © 2020-2023  润新知