方法1:使用BufferedReader类读写超大文件
File file = new File("E:\\workspace(javaEE)\\StatisticsVisitor\\log\\tte\\2014\\03\\2014-03-26.log"); BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file)); BufferedReader reader = new BufferedReader(new InputStreamReader(fis,"utf-8"),1024);// 用1KB的缓冲读取文本文件 String line = ""; while((line = reader.readLine()) != null){ System.out.println(line); } reader.close(); fis.close();
方法2:使用RandomAccessFile类读取
public static void main(String[] args) throws Exception { int bufSize = 1024; byte[] bs = new byte[bufSize]; // 这里是分配缓存大小。也就是用来存放从硬盘中度出来的文件 // 什么叫一次把文件读出来?其实就是当缓存大小和在硬盘中文件大小一样, // 只通过一个read指令把整个文件都扔到缓存里面。例如要一次读一个2G的文件,把缓存设为2G就能一次读出来。 // 不过当分配空间的时候,这个缓存根本是分配不出来的,因为内存不足。 ByteBuffer byteBuf = ByteBuffer.allocate(bufSize); FileChannel channel = new RandomAccessFile("E:\\workspace(javaEE)\\StatisticsVisitor\\log\\tte\\2014\\03\\2014-03-26.log","r").getChannel(); int size; // 因为这里缓存大小是1K,所以每个channel.read()指令最多只会读到文件的1K的内容。 // 如果文件有1M大小,这里for会循环1024次,把文件分开1024次读取出来 while((size = channel.read(byteBuf)) != -1) { byteBuf.rewind(); byteBuf.get(bs); // 把文件当字符串处理,打印。 System.out.print(new String(bs, 0, size)); byteBuf.clear(); } channel.close(); }
相关推荐
java读取超大文本文件,java读取超大文本文件,java读取超大文本文件,java读取超大文本文件
Java 读写文件文本文件的示例
JAVA简单的读写文本文件的代码JAVA简单的读写文本文件的代码
java读取文本文件,java读取文本文件,java读取文本文件
Java读取TXT文本文件乱码解决方案.doc
Java多线程读取大文本文件并批量插入MongoDB的代码,文本文件,csv文件,可以结合POI改造使其支持excel。 适合做大量文本数据或日志文件入库的场景,大文本被拆分成多个线程处理,速度快。 批量插入MongoDB,存在则...
读取文件中的二进制文件并将二进制转换成文本文档并输出
2. 将内容中的文本写到文件 3. 将一个文件的内容读出来写入另一个文件中 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据需要只看其中一个就行了
对FTP服务器文件的基本操做:上传下载递归目录遍历等。
Java读写文本文件的示例代码 这个例子可以帮助JAVA爱好者理解JAVA对文件的操作,打开、删除、写入等操作。对初学者很有帮助。
java文本读取方法 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容
Java读写文本文件的示例代码.rar
Java读取文本文件内容Demo; 主要代码: char charArr[]=new char[1024]; //创建可容纳 1024 个字符的数组 FileReader b=new FileReader("D:\\temp\\test.txt"); int iNum=b.read(charArr); //将数据读入到数组 a ...
Java多线程读大文件 java多线程写文件:多线程往队列中写入数据
java读取txt文件,可以以文件路径构造这个流,:FileInputStream fin = new FileInputStream("d:/test.txt"); 然后使用这个流直接读取到文件,再使用reader构造BufferedReader,按行读取一整行的文本,作为字符串返回...
从E盘a文件夹读取txt文档,自动将以@开头以结束的字符串重新写入E盘c文件夹下
java如何读取文件 。把固定的文件读取到程序中来。
很好的解决大文件读取中需要耗费大量时间的问题,三种方法各异,对不同的文本文件都能较好解决。