「java文本内容排序」java字段排序

博主:adminadmin 2023-03-22 11:50:09 442

今天给各位分享java文本内容排序的知识,其中也会对java字段排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

对文本进行排序的JAVA小程序

给你说个思路

1. 按行读文件, 每一行split('\\s'),然后只要id 这个String

2. 然后取id后的十六进制数

3. 将此行和这一整行(value)和它对应的十六进制数(key)写入一个map

4. 对十六进制树进行排序

5. get by key

6. 输出

java读取多个txt文件内容,并按照文件名称排序

有一些假定,每个文本文件只保存一行数据,只有两个地点,自己看看吧,文件格式不正确,自己修改吧.可以把指定目录内的所有txt文件,合并后保存到指定的txt文件中.

package net.netjava.fileutil;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FilenameFilter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.util.ArrayList;

import java.util.List;

/**

*

* @author HP

*/

public class FileTools {

private final String aPrefix="aaaa";

private final String bPrefix="bbbb";

/**

* 返回第一行内容

* @param fname 文本文件名称

* @return

* @throws java.io.IOException

*/

private String readLineFromTxt(String fname)throws IOException {

String line; // 用来保存每行读取的内容

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fname)));

line = reader.readLine(); // 读取第一行

reader.close();

return line;

}

/**

*

* @param a

* @param b

* @param fname

*/

private void writeToTxt(List a,List b,String fname)throws IOException {

PrintStream ps = new PrintStream(new FileOutputStream(fname));

for(int i=0;ia.size();i++)

ps.println(a.get(i));

for(int i=0;ib.size();i++)

ps.println(b.get(i));

ps.close();

}

/**

* 合并指定目录内的多个文本文件

* @param strPath 批量文本文件所在目录名称

* @param strFile 生成的文本文件名称

* @return

*/

public boolean mergeFile(String strPath,String strFile){

boolean f=true;

List listA=new ArrayList();//aaaa内容

List listB=new ArrayList();//bbbb内容

File path=new File(strPath);

if(!path.exists()||!path.isDirectory()){//输入的必须是目录

f=false;

}else{

try{

String[] fname=path.list(new FilenameFilter(){

public boolean accept(File dir, String name) {

if(name!=nullname.endsWith(".txt"))

return true;

else

return false;

}

});//获取目录内所有.txt结尾的文件名字

for(int i=0;ifname.length;i++){

String tmp=this.readLineFromTxt(strPath+"\\"+fname[i]);

if(tmp==null)

continue;

if(fname[i].startsWith(aPrefix)){

listA.add(aPrefix+tmp);

}else if(fname[i].startsWith(bPrefix)){

listB.add(bPrefix+tmp);

}

}

this.writeToTxt(listA, listB, strFile);

}catch(Exception e){

e.printStackTrace();

f=false;

}

}

return f;

}

public static void main(String[] args){

FileTools ft=new FileTools();

ft.mergeFile("c:\\txt", "d:\\out.txt");

}

}

java中怎么对一串字符进行排序!

import java.util.Arrays;

public class StringSort {

public static void main(String[] args) {

String string = "to good too no string and now";

String sortString = sortChar(string);

System.out.println(sortString);

}

private static String sortChar(String str) {

// 1.将字符串转化成数组

char[] chs = stringToArray(str);

// 2.对数组进行排序

sort(chs);

// 3.将数组转成字符串

return toString(chs);

}

private static String toString(char[] chs) {

return new String(chs);

}

// 对字符数组进行升序排序

private static void sort(char[] chs) {

Arrays.sort(chs);

}

// 将字符串转化成为数组

private static char[] stringToArray(String string) {

return string.toCharArray();

}

}

java中先读取文本文档,然后对文档中的内容再对“|”后面的数字进行排序,再存入新的文本文档

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

import java.util.Scanner;

public class SortStringDemo {

  public static void main(String[] args) throws IOException {

    

    //读取文本数据

    File file = new File("1.txt");

    ListString list = new ArrayList();

    

    Scanner scanner = new Scanner(file);

    while (scanner.hasNextLine()) {

      String temp = scanner.nextLine();

      if (!temp.equals("")) {

        list.add(temp);

      }

    }

    scanner.close();

    

    

    // sub字符串,再使用Integer.comparTo() 如:1 2 11 这种数字大小排序

    Collections.sort(list, new ComparatorString() {

      @Override

      public int compare(String o1, String o2) {

        Integer n1 = Integer.valueOf(o1.substring(o1.indexOf("|") + 1, o1.length()));

        Integer n2 = Integer.valueOf(o2.substring(o2.indexOf("|") + 1, o2.length()));

        return n1.compareTo(n2);

      }

    });

    System.out.println("按照数字大小排序:\t" + list);

    // sub字符串,再使用String.comparTo() 如:1 11 2 这种按照字符串序号排序

    Collections.sort(list, new ComparatorString() {

      @Override

      public int compare(String o1, String o2) {

        String string1 = o1.substring(o1.indexOf("|") + 1, o1.length());

        String string2 = o2.substring(o2.indexOf("|") + 1, o2.length());

        return string1.compareTo(string2);

      }

    });

    System.out.println("按照子串排序:\t" + list);

    

    //存储文本数据

    File file2 = new File("2.txt");

    PrintWriter pw = new PrintWriter(file2);

    for (int i = 0; i  list.size(); i++) {

      pw.println(list.get(i));

    }

    pw.close();

  }

}

java文本内容排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java字段排序、java文本内容排序的信息别忘了在本站进行查找喔。