Java-->把txt中的所有字符按照码表值排序
2016-08-14 17:21
676 查看
--> List 列表中的自动添加的多余空间长度该怎么去除呢?...(已解决,是char 数组中的空字符)
if (buffer[i] == '\r' || buffer[i] == '\n'
|| buffer[i] == ' ' || buffer[i] == '\t') {
continue;
}
list.add(buffer[i]);
}
--> 还是没有解决多余空间的问题啊...(OK )
package com.dragon.java.filesort; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; /* * 将day19-笔记.txt中的所有字符按照码表值排序, 存入另一个文件中 */ public class Test { public static void main(String args[]) { FileReader fr = null; FileWriter fw = null; ArrayList<Character> list = new ArrayList<>(); try { fr = new FileReader( "C:/Users/xy/Desktop/文件/Java/Java/DailyCode/08-14/src/com/dragon/java/days.txt"); fw = new FileWriter( "C:/Users/xy/Desktop/文件/Java/Java/DailyCode/08-14/src/com/dragon/java/days01.txt"); char[] buffer = new char[1024]; while (true) { int temp = fr.read(buffer, 0, buffer.length); if (temp == -1) { break; } else { // 不能直接遍历buffer 数组,因为当该数组过长是,里面会有空字符!! // 或者在遍历的时候去除buffer 中的空字符 --> if((int)buffer[i] == 0) --> 空字符在码表中为0. for (int i = 0; i < temp; i++) {
if (buffer[i] == '\r' || buffer[i] == '\n'
|| buffer[i] == ' ' || buffer[i] == '\t') {
continue;
}
list.add(buffer[i]);
}
} } Collections.sort(list); char[] buffer1 = new char[list.size()]; for (int i = 0; i < list.size(); i++) { buffer1[i] = list.get(i); } fw.write(buffer1, 0, buffer1.length); } catch (IOException e) { System.out.println(e); } finally { try { fr.close(); fw.close(); } catch (IOException e) { System.out.println(e); } } } // 比较器比较字符的大小(可自主修改) public static class MyCompartor implements Comparator<Character> { @Override public int compare(Character o1, Character o2) { // if (o1 == '\n' || o2 == '\n') { // return 0; // } return o1 - o2; } } }
--> 还是没有解决多余空间的问题啊...(OK )
相关文章推荐
- Introduction to Java Programming编程题9.11<对字符串中的字符排序(支持大小写混排)>
- Java用Gson按照键值key排序json所有节点
- Java-->将txt文件的所有行反转
- JAVA版List<Map>排序,按字符或数字类型排序,支持正序倒序
- Java用Gson按照键值key排序json所有节点
- 给定一个字符数组,存储有R、G、B字符,将所有字符按照RGB顺序排序
- 把请求中所有参数排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串
- Java用Gson按照键值key排序json所有节点
- 用java编写TreeMap<Student,String>集合,存储的元素按照年龄进行排序
- )RGB排序,一个字符串,里面只有三种字符R G B,所有的R都在G的前面,所有的G都在B的前面。将给定字符串按照此规律排序。要求不允许用辅助空间,复杂度控制在O(N)。遍历一遍就排好序。
- RGB排序,一个字符串,里面只有三种字符R G B,所有的R都在G的前面,所有的G都在B的前面。将给定字符串按照此规律排序。要求不允许用辅助空间,复杂度控制在O(N)。
- 找到两个字符串的公共字符,并按照其中一个的排序
- List<>能按照List中对象的某个属性排序吗
- Java 正则表达式--匹配字符获取、IP地址排序
- List<Entity>排序:根据javabean中的一个字段对beanList进行排序
- 公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,
- java如何对ArrayList中对象按照该对象某属性排序
- java中的list按照指定字段排序
- Java字符统计并排序
- Java截取最后一个\后面的所有字符