是否是java的缓冲区大小的问题呢?
LineNumberReader有个设置读缓存大小的构造函数
LineNumberReader((Reader in,int sz));试试。
LineNumberReader有个设置读缓存大小的构造函数
LineNumberReader((Reader in,int sz));试试。
解决方案 »
- protected 修饰符!
- 获取jar内部文件路径问题!
- 求帮助,在此坐等,谢谢来看问题之人
- 请问如何通过socket向C++的程序传送一个结构体
- 在用Java编写程序时遇到麻烦,老师也没找到解决方案,求教一下
- 如何将一个字符串(字符串的内容是一个数学表达式:例如100+50*3)运算后赋给一个double变量?在线等
- 谁能提供电子版的《java学习笔记》下载地址
- 准备去买手机诺基亚6100或者6610,大家给点建议
- ?请问各位朋友。如何在applet中实现点击一个按钮,然后IE转到另一个页面的功能啊(或者激活本页的另一个applet也行)
- 请问在一个applet窗体中,按下不同的按钮,在窗体里显示不同的组件,怎么实现?
- 怎样利用java解压缩文件?
- 关于数组和向量的问题
LineNumberReader((Reader in,45000000)); //文件大约有42M大
不行。还是出错
你的RedHat下有Tomcat么?你在Tomcat下测一下,看看是不是Web服务器造成的。
import java.util.regex.*;
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;
import java.nio.channels.spi.*;public class LineCounter {
public static void count(String file) throws IOException {
FileInputStream fis = new FileInputStream(file);
FileChannel fileChannel = fis.getChannel(); int size = (int) fileChannel.size();
MappedByteBuffer buffer = null;
try {
buffer = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, size);
}
catch (IOException e) {
System.out.println("文件是不是真的存在哟?");
System.exit(1);
}
finally {
fileChannel.close();
}
Charset charset = Charset.forName("ISO-8859-1");
CharsetDecoder decoder = charset.newDecoder();
CharBuffer lines = decoder.decode(buffer);
Pattern linePattern = Pattern.compile(".*\r?\n");
Matcher matcher = linePattern.matcher(lines);
int numberOfLines = 0;
for(; matcher.find(); numberOfLines++){
}
fileChannel.close();
System.out.println("有"+numberOfLines+"行"); } public static void main(String[] args) {
if(args.length == 0) {
System.err.println("请输入参数");
System.exit(1);
}
try {
LineCounter.count(args[0]);
}
catch (IOException ex) {
ex.printStackTrace();
System.exit(1);
}
}
try {
BufferedReader read = new BufferedReader(new FileReader(fileName));
int count=0;
String line;
while((line=read.readLine())!=null){
if(line.length()>0)
count++;
}
}
BufferedReader br = new BufferedReader(fr); while ( (s = br.readLine()) != null) { }