已知文件 a.txt 文件中的内容为“bcdeadferwplkou”, * 请编写程序读取该文件内容,并按照自然顺序排序后输出到 b.txt 文件中。 * 即 b.txt 中的文件内容应为“abcd…………..”这样的顺序。

import java.io.*;class SortChar{    private String str;    private char arrayList[];    private BufferedReader br; //字符流    private File f; //读取的文件

SortChar( 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("D:\\zy\\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 SortChar( "D:\\zy\\a.txt" ).start();

}} 

原文地址:https://www.cnblogs.com/gt33/p/9260677.html

时间: 2024-11-05 21:47:56

已知文件 a.txt 文件中的内容为“bcdeadferwplkou”, * 请编写程序读取该文件内容,并按照自然顺序排序后输出到 b.txt 文件中。 * 即 b.txt 中的文件内容应为“abcd…………..”这样的顺序。的相关文章

Java 练习:读取该文件内容,并按照自然顺序排序后输出到 另一个文件中

package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class IO_sort_content { public static void main(String[] args) { /* * 已知文件 a.txt 文件中的内容为"bcde

已知s.txt文件中有一个这样的字符串 请编写程序读取数据内容,把数据排序后写入 ss.txt文件

package cn.idcast5; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; /* * 需求:已知s.txt文件中有一个这样

请编写程序,统计键盘录入的字符串中出现了几次字符串”java”,并测试

import java.util.Scanner;public class StringBufferText {//main方法public static void main(String[] args) {br/>@SuppressWarnings("resource")//键盘录入Scanner sc=new Scanner(System.in);//字符串数据的导入System.out.println("请您输入一个字符串:");String str=s

已知一个函数rand5()能够生成1-5的随机数,请给出一个函数,该函数能够生成1-7的随机数。

这是朋友去笔试的一道题,有点考智商,当时我还很自信的说 random5+random5/2  不就可以了 他说不行,然后我就在网上搜了一下 有一道类似的题目 题目: 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数,该函数能够生成1-10的随机数. 思路: 假如已知一个函数能够生成1-49的随机数,那么如何以此生成1-10的随机数呢? 解法: 该解法基于一种叫做拒绝采样的方法.主要思想是只要产生一个目标范围内的随机数,则直接返回.如果产生的随机数不在目标范围内,则丢弃该值,重新取

将字符串中单词经排序后输出

思路 先将字符串中的单词分割保存至二维数组中,再经排序后输出.水题,直接上代码了. 代码 /************************************************************************* > File Name: words_sort.c > Author: KrisChou > Mail:[email protected] > Created Time: Sun 24 Aug 2014 08:41:42 PM CST *****

文件中有一组整数,排序后输出到另一个文件中

#include <iostream> #include <fstream> using namespace std; void Order(vector<int> &data){ int count = data.size(); int tag = false; for(int i = 0; i < count; i++){ for(int j = 0; j < count - i - 1; j++){ if(data[j] > data[j

Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出

从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict),在脚本中进行调用 我直接贴出代码: import xlrd data_path = "F:\data" # 存放excel表的路径xlsname = "userinfo.xlsx" # excel表的名字sheetname = "Sheet1" #

已知一个6*6的矩阵(方阵),把矩阵二条对角线上的元素值加上10,然后输出这个新矩阵

#include<iostream>using namespace std;const int n=6;int a[7][7];int main(){ for(int i=1;i<=6;++i) for(int j=1;j<=6;++j) cin>>a[i][j]; for(int i=1;i<=6;++i) for(int j=1;j<=6;++j) if((i==j)||(i+j==7)) a[i][j]+=10; for(int i=1;i<=6

我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。