「java文本内容排序」java字段排序
今天给各位分享java文本内容排序的知识,其中也会对java字段排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、对文本进行排序的JAVA小程序
- 2、java读取多个txt文件内容,并按照文件名称排序
- 3、java中怎么对一串字符进行排序!
- 4、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文本内容排序的信息别忘了在本站进行查找喔。