`
lin358
  • 浏览: 65272 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

利用缓存读取文件提高性能

    博客分类:
  • j2se
阅读更多
前段时间写了个程序需要对文件进行读取操作,一开始使用最普通的写法
		FileReader in = new FileReader("E:/a.html");
		BufferedReader br = new BufferedReader(in);
		String string="",str="";
		while((string=br.readLine())!=null){
			str+=string;
		}
		System.out.println(str);

但是当正式开始运行的时候发现用是可以用但效率过于低下(因为每次运行都要读取几十甚至上百个的文件,所以效率问题很明显),所以就上网搜索了一些提高IO流的资料,发现大多数都是说使用缓存,于是就上网搜了一段代码
     * 使用缓存区读写文件  
     * @param from  
     * @param to  
     * @throws IOException  
     */  
    public static void readWriteWithBuffer(String from, String to)   
            throws IOException {   
        InputStream inBuffer = null;   
        OutputStream outBuffer = null;   
        try {   
            inBuffer = new BufferedInputStream(new FileInputStream(from));   
            outBuffer = new BufferedOutputStream(new FileOutputStream(to));   
            while (true) {   
                int data = inBuffer.read();   
                if (data == -1) {   
                    break;   
                }   
                outBuffer.write(data);   
            }   
        } finally {   
            if (inBuffer != null) {   
                inBuffer.close();   
            }   
            if (outBuffer != null) {   
                outBuffer.close();   
            }   
        }   
    }   
  
}

但发现无法直接将字符串存入内存进行其他操作,于是又搜索了一些资料,发现原来只要用byte转一下即可,最终代码如下
		File file = new File( "E:/a.html");
		InputStream input = null;
		input = new FileInputStream(file);
		String str = "";
		byte[] b = new byte[(int)file.length()];
		input.read(b);
		input.close();
		str=new String(b);
		System.out.println(str);
2
3
分享到:
评论

相关推荐

    利用缓存机制快速读取XML文件数据

    为了解决这一问题,本文提出了一种利用缓存机制来提高XML文件数据读取效率的方法。该方法通过在内存中缓存已解析的XML数据,并在后续请求时检查文件是否已被更新来决定是否重新解析文件,从而实现快速的数据访问。 ...

    另类的缓存分页并读取过程先读取缓存数据

    总之,“另类的缓存分页并读取过程先读取缓存数据”是一个关于优化数据访问效率的主题,涵盖了缓存管理策略、数据分页以及如何利用缓存提升系统性能的实践。通过理解和应用这些技术,可以显著改善应用程序的响应时间...

    android缓存技术之文件缓存

    在Android应用开发中,缓存技术是至关重要的,它能够提高应用性能,减少网络请求,提升用户体验。本文将深入探讨Android中的文件缓存技术,尤其是如何利用文件来存储和读取字符串数据。文件缓存是一种常见的本地缓存...

    浏览器缓存读取工具

    浏览器缓存是网络浏览的重要组成部分,它用于存储网页的静态资源,如图片、JavaScript文件、CSS样式表等,以便在用户再次访问同一页面时能够快速加载,提高网页的响应速度和用户体验。`ChromeCacheView`是一款实用的...

    Xpath读取xml文件,实现文件缓存。

    当读取XML文件时,如果使用了缓存,那么首次加载文件后,其内容将被保存在内存中,后续的查询可以直接从内存中获取,避免了再次读取文件的开销。 5. **缓存策略**: 实现文件缓存时,通常需要设计合理的缓存策略。这...

    vs2005下面的无缝缓存读取

    在IT行业中,缓存技术是...总的来说,VS2005下的无缝缓存读取是一个涉及数据管理、性能优化和用户体验的重要话题。通过合理的设计和实施,可以显著提升应用程序的响应速度,降低系统负载,为用户提供更流畅的交互体验。

    合理利用“二级缓存”技术 提高数据库整体性能

    总结来说,合理利用二级缓存技术,如EnterpriseDB的Infinite Cache,是提升数据库性能的有效手段,它解决了内存与硬盘速度差异的问题,通过透明化操作简化了系统管理,并且具有高度的可扩展性,是应对现代数据库性能...

    java io读取文件

    下面我们将深入探讨Java IO读取文件的技术及其在大数据场景下的应用。 1. **基础概念** - **流(Stream)**:Java IO基于流的概念,流是一组有序的数据序列,可以是字节流或字符流。数据从源(如文件)流向目的地...

    php文件页面缓存类.zip

    2. **缓存读取**:在后续请求相同数据时,检查缓存文件是否存在,如果存在则读取文件内容返回。这里需要处理文件的读取和解析。 3. **缓存更新**:当数据被修改时,更新相应的缓存文件。这可能涉及到删除旧的缓存...

    C#利用缓存分块读写大文件

    为了提高读写大文件的效率,可以采用分块读写的策略,并利用缓存来优化性能。本文将详细介绍如何使用C#进行缓存分块读写大文件,包括创建文件、分块读取文件以及分块写入文件等操作。 首先,创建大文件可以使用...

    处理文件缓存的方法

    在IT行业中,文件缓存是提高系统性能的重要手段,它能够加速数据的读取和处理。然而,随着时间的推移,缓存可能会占用大量存储空间,导致系统运行缓慢或者存储资源紧张。本篇将深入探讨如何处理文件缓存,包括计算...

    带缓存的文件I/O

    总的来说,这个示例提供了关于如何在C++中利用缓存优化文件I/O性能的见解,特别是针对Windows平台。理解并掌握这些技术对于开发高效能的系统级应用程序至关重要。在实际项目中,开发者可能需要根据具体需求和资源...

    利用C#实现shp文件读取并在视图窗口中显示

    总结来说,利用C#实现shp文件的读取和显示涉及了对GIS数据的理解、选择合适的库、解析几何对象、绘制到视图窗口以及处理交互和性能优化等多个步骤。通过这些技术,开发者可以构建功能丰富的GIS应用,帮助用户直观地...

    带缓存的读文件程序案例

    "带缓存的读文件程序案例"是一个典型的示例,它展示了如何利用缓存技术来提高文件读取效率。缓存是一种存储机制,用于临时存储频繁访问的数据,以减少对原始数据源的访问次数,从而加快数据获取速度。 在读文件操作...

    nginx静态文件缓存的解决方案1

    为了进一步提高静态资源的访问效率,我们可以利用 Nginx 的缓存功能。下面详细介绍如何实现 Nginx 静态文件缓存的三个步骤。 ### 第一步:配置 HTTP 级别的缓存 在 `nginx.conf` 文件中,我们需要添加如下配置以...

    [示例][PHP]文件缓存的php类库.zip

    2. **缓存读取**:设计一个函数来从文件中读取数据,可能涉及反序列化过程,将文件内容转换回可使用的PHP对象。 3. **缓存删除**:当数据过期或者不再需要时,提供清理单个缓存文件或整个缓存目录的功能。 4. **...

    rmi远程调用读取文件

    总的来说,RMI远程调用读取文件是一种有效的分布式系统交互方式,它简化了跨JVM的数据交换,但同时也需要关注性能、安全和版本管理等多个方面。通过合理的设计和实践,我们可以利用RMI构建高效、可靠的分布式应用...

    C#文件缓存类

    // 从磁盘读取文件并添加到缓存 cachedData = ReadFromFile(filePath); Cache.Set(key, cachedData, DateTimeOffset.Now.AddHours(1)); // 设置1小时的过期时间 return cachedData; } public void Put(string...

    PHP读取打包JS文件

    标题 "PHP读取打包JS文件" 指的是使用PHP编程语言来实现JavaScript文件的...总的来说,PHP读取打包JS文件是一个常见的前端性能优化技术,通过合理地利用PHP和服务器端能力,可以有效地提升网页的加载速度和用户体验。

    禁用2008R2文件系统缓存

    1. **提高I/O性能**:当应用程序读取文件时,数据会被加载到内存的缓存中。如果同一文件再次被请求,数据可以直接从内存中快速获取,而不是从较慢的硬盘中读取。 2. **减少磁盘活动**:缓存减少了对磁盘的读写操作,...

Global site tag (gtag.js) - Google Analytics