- 浏览: 2290999 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
转载:IO、文件、NIO【草案一】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/25/5252265.aspx
转载:IO、文件、NIO【草案二】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/25/5252280.aspx
转载:IO、文件、NIO【草案三】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/26/5252285.aspx
转载:IO、文件、NIO【草案四】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/25/5252301.aspx
作者写得太详细了,太好了 以及相关的,一,二,三,是了解IO,NIO最好的参考资料,
为了方便面在不能上网的时候阅读,就下载了,见附件
实战代码(文件拷贝)
最新参考资料
JAVA NIO 简介 http://alicsd.iteye.com/blog/834447
引用以上链接:
http://blog.csdn.net/silentbalanceyh/archive/2010/01/25/5252265.aspx
转载:IO、文件、NIO【草案二】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/25/5252280.aspx
转载:IO、文件、NIO【草案三】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/26/5252285.aspx
转载:IO、文件、NIO【草案四】
http://blog.csdn.net/silentbalanceyh/archive/2010/01/25/5252301.aspx
作者写得太详细了,太好了 以及相关的,一,二,三,是了解IO,NIO最好的参考资料,
为了方便面在不能上网的时候阅读,就下载了,见附件
实战代码(文件拷贝)
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class ReadWriteCompare { public static void main(String[] args) throws IOException { copyFileToNio("c:/dev.rar","c:/copy_dev.rar"); } public static void copyFileToNio(String sourceFilePath, String newFilePath) throws IOException { File file = new File(sourceFilePath); if(!file.exists()){ System.err.println("要拷贝的源文件不存在,请重新指定文件路径."); return; } createMkdirs(newFilePath); copyFileToNio(file,newFilePath); } public static void createMkdirs(String filePath) throws IOException{ int dirIndex = filePath.indexOf("/"); int dirIndex2 = filePath.indexOf("\\"); if(dirIndex == -1 && dirIndex2 == -1){ System.err.println("文件路径非法..."); return; } int lastIndex = filePath.lastIndexOf("/"); String dirs = filePath.substring(0,lastIndex); File file = new File(dirs); if(file.exists()){ System.err.println("文件路径不用创建..."+dirs); return; } if(file.mkdirs()){ System.out.println("文件目录创建成功..." + dirs); }else{ System.out.println("文件目录创建失败..." + dirs); } file = new File(filePath); if(!file.exists()){ file.createNewFile(); System.out.println("文件目录及文件成功..." + filePath); }else{ System.out.println("文件目录及文件已经存在"); } } private static void copyFileToNio(File sourceFile, String newFilePath) throws IOException { long timeStar = System.currentTimeMillis();//得到当前的时间 FileInputStream fileInputStream = new FileInputStream(sourceFile); FileOutputStream fileOutputStream = new FileOutputStream(newFilePath); FileChannel inChannel = fileInputStream.getChannel(); FileChannel outChannel = fileOutputStream.getChannel(); ByteBuffer byteBuffer = ByteBuffer.allocateDirect(1024); while (true) { int eof = inChannel.read(byteBuffer); if (eof == -1) break; byteBuffer.flip(); outChannel.write(byteBuffer); byteBuffer.clear(); } inChannel.close(); outChannel.close(); if(new File(newFilePath).exists()){ System.out.println("文件创建成功!"); }else{ System.out.println("文件创建失败!"); } long timeEnd = System.currentTimeMillis();//得到当前的时间 System.out.println("Read time :" + (timeEnd - timeStar) + "ms"); } }
最新参考资料
JAVA NIO 简介 http://alicsd.iteye.com/blog/834447
引用以上链接:
import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class CopyFile { public static void main(String[] args) throws Exception { String infile = "C:\\copy.sql"; String outfile = "C:\\copy.txt"; // 获取源文件和目标文件的输入输出流 FileInputStream fin = new FileInputStream(infile); FileOutputStream fout = new FileOutputStream(outfile); // 获取输入输出通道 FileChannel fcin = fin.getChannel(); FileChannel fcout = fout.getChannel(); // 创建缓冲区 ByteBuffer buffer = ByteBuffer.allocate(1024); while (true) { // clear方法重设缓冲区,使它可以接受读入的数据 buffer.clear(); // 从输入通道中将数据读到缓冲区 int r = fcin.read(buffer); // read方法返回读取的字节数,可能为零,如果该通道已到达流的末尾,则返回-1 if (r == -1) { break; } // flip方法让缓冲区可以将新读入的数据写入另一个通道 buffer.flip(); // 从输出通道中将数据写入缓冲区 fcout.write(buffer); } } }
import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.nio.charset.Charset; import java.net.InetSocketAddress; import java.io.IOException; public class BaiduReader { private Charset charset = Charset.forName("GBK");// 创建GBK字符集 private SocketChannel channel; public void readHTMLContent() { try { InetSocketAddress socketAddress = new InetSocketAddress( "www.baidu.com", 80); // step1:打开连接 channel = SocketChannel.open(socketAddress); // step2:发送请求,使用GBK编码 channel.write(charset.encode("GET " + "/ HTTP/1.1" + "\r\n\r\n")); // step3:读取数据 ByteBuffer buffer = ByteBuffer.allocate(1024);// 创建1024字节的缓冲 while (channel.read(buffer) != -1) { buffer.flip();// flip方法在读缓冲区字节操作之前调用。 System.out.println(charset.decode(buffer)); // 使用Charset.decode方法将字节转换为字符串 buffer.clear();// 清空缓冲 } } catch (IOException e) { System.err.println(e.toString()); } finally { if (channel != null) { try { channel.close(); } catch (IOException e) { } } } } public static void main(String[] args) { new BaiduReader().readHTMLContent(); } }
- IO、文件、NIO【草案二】.rar (58.6 KB)
- 下载次数: 10
- IO、文件、NIO【草案三】.rar (95.6 KB)
- 下载次数: 10
- IO、文件、NIO【草案四】.rar (843 KB)
- 下载次数: 10
- IO、文件、NIO【草案一】.rar (1.1 MB)
- 下载次数: 14
发表评论
-
java json-lib & jQuery & jsonp
2016-06-30 11:31 834参考链接: 1、http://hanqunfeng.iteye ... -
随机分配算法(Intege)
2016-01-08 13:05 5205参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29498参考资料 1 跨网站脚本 ... -
Java之Thread(线程题)
2011-10-31 12:33 1980特别说明:java线程相关的参考了张孝祥老师的代码 参考资料 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2698参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5941场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1950参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1700参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 164431 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1487运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3259参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程(sleep,线程名)
2011-10-10 13:09 9720参考资料 1 Java线程:创建与启动 http://lava ... -
Java之线程入门
2011-10-10 11:11 1540参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3489环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1142Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 18041参考资料 1 java.math.BigDecimal的用法 ... -
java.lang.OutOfMemoryError异常解决方法
2011-08-27 16:47 2117转载:java.lang.OutOfMemoryError异常 ... -
Jcom之jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=
2011-08-25 12:33 11751参考资料 java应用jcom将word转pdf http:/ ... -
Quartz之AnnualCalendar
2011-08-11 17:14 5825问题1 我想排除一年中 ... -
Quartz之InterruptableJob
2011-08-11 11:03 11785问题1 由于业务需要,停止Quartz中正在执行的任务 Qua ...
相关推荐
10. **文件操作的最佳实践** - 总是使用异常处理 - 避免在循环中创建新的流对象,尽量使用缓冲 - 使用完文件后立即关闭流 - 对于大型文件,考虑使用流而不是一次性加载到内存 - 使用相对路径而不是绝对路径,以...
Java NIO(Non-blocking Input/Output)是一种在Java中实现高效I/O操作的机制,它提供了与传统IO(基于BufferedInputStream和BufferedOutputStream)不同的编程模型。NIO的核心概念包括通道(Channels)、缓冲区...
综上所述,“Large-File-Processing-master_javanio_java大文件处理_”项目涵盖了Java NIO在大文件处理中的核心技术和最佳实践,是学习和研究Java高效处理大文件的宝贵资源。通过深入理解这些知识点,并结合项目中的...
MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和可伸缩性而闻名。在开发过程中,MongoDB常用于存储非...在实际项目中,可以根据具体需求选择合适的设计模式和最佳实践,以优化系统的性能和稳定性。
他可能就Java IO进行了深入讲解,包括最佳实践、常见问题及解决方法。 "那个水的例子"可能是一个具体的代码示例,用于解释如何使用Java IO来模拟或处理与水相关的数据流动问题。这种例子通常是为了让抽象的IO概念变...
总的来说,《IO流宝典》这本书将涵盖这些核心概念,并可能深入讲解IO流的高级特性和最佳实践,包括错误处理、性能优化、以及如何在实际项目中有效地使用Java IO流。对于任何希望提升Java I/O技能的开发者来说,这...
《深入理解Java7核心技术与最佳实践》一书深入剖析了Java 7这一版本中的关键技术和最佳实践,旨在帮助开发者全面提升对Java平台的理解和应用能力。Java 7是Java发展历程中的重要里程碑,它引入了许多创新特性,提升...
Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了丰富的类库,允许开发者在程序...实践是掌握Java IO的最佳方式,通过对这些示例的分析和运行,可以加深对Java IO机制的理解。
1. **官方文档**:Oracle官网提供了详尽的Java NIO API文档,这是了解Java NIO最佳实践的第一手资料。 2. **在线课程**:如Coursera、Udemy等平台上提供的Java NIO专题课程,通常由经验丰富的讲师授课,适合不同程度...
### Java网络编程NIO视频教程知识点汇总 #### 1. Java NIO-课程简介 - **主要内容**:简述...通过以上内容的学习,开发者可以全面掌握Java NIO编程的相关技术和最佳实践,为开发高性能网络应用程序打下坚实的基础。
根据提供的文件信息,我们可以推断出这是一本关于Java 7 的书籍——《深入理解Java 7 核心技术与最佳实践》,并且提供了该书PDF版本的下载链接。接下来,我们将围绕这一主题展开讨论,主要从以下几个方面进行深入...
通过阅读源代码,开发者可以深入理解库的工作原理,学习最佳实践,并可能根据自己的需求对其进行扩展或修改。源代码通常遵循良好的编程风格,包含了详细的注释,有助于理解和学习。 在帮助文档中,通常会包含API...
这个PDF资料将详细讲解这些领域的知识,包括常见面试题、最佳实践和陷阱,帮助求职者准备面试。无论你是初学者还是有经验的开发者,这份资料都将为你的知识体系增添深度和广度,提升你在面试中的竞争力。记得深入...
Java IO流是Java平台中用于处理输入输出的重要组成部分,它为数据在不同设备间传输提供了高效、灵活的方式。...同时,持续关注Java的新特性和最佳实践,比如Java NIO,将有助于你保持技术的领先性。
在安卓系统中,文件管理是用户与设备交互的...在实际使用中,开发者应当注意遵循Android的开发最佳实践,确保应用的稳定性和兼容性。同时,对于用户隐私和数据安全,也需要遵守相关法规,防止不当访问或泄露用户数据。
在IT行业中,文件处理是日常任务之一,尤其是在大数据和存储管理领域。Java作为一种广泛使用的编程语言,提供了丰富的库和...同时,这也是一个很好的学习实践,帮助开发者深入理解Java I/O机制和文件处理的最佳实践。