- 浏览: 1592657 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
打印流
文件的分割 与合并
文件的分割 与合并
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.SequenceInputStream; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; import java.util.List; import java.util.Vector; /** * 打印流: * 该流提供了打印的方法,可以将各种数据类型的数据都原样打印. * * 字节打印流 * printStream * 构造函数可以接受的参数类型: * 1.file对象: File * 2.字符串路径: String * 3.字符输出流: OutputStream * * * 字符打印流 * PrintWriter * 构造函数可以接收的参数类型 * 1.file对象 File * 2.字符串路径 String * 3.字节输出流 OutputStream * 4.字符输出流: Writer * * * 练习 ----合并多个文件------------ * SequenceInputStream * * 练习-----切割文件-------------- * */ public class PrintDemo { public static void main(String[] args) throws IOException { // method(); //System.out.println("========将多个读取流变成一个读取流============"); //sequenceDemo(); //System.out.println("=========将一个大的文件分割成多个文件=============="); //splitFileDemo(); System.out.println("=========将上面的多个碎片文件变成一个文件============"); merge(); } //合并上面 分割的文件 public static void merge() throws IOException{ List<FileInputStream> list=new ArrayList<FileInputStream>(); for(int x=1;x<=19;x++){ list.add(new FileInputStream("E:\\splitFile\\"+x+".part")); } final Iterator<FileInputStream> it=list.iterator(); Enumeration<FileInputStream> en=new Enumeration<FileInputStream>(){ @Override public boolean hasMoreElements() { // TODO Auto-generated method stub return it.hasNext(); } @Override public FileInputStream nextElement() { // TODO Auto-generated method stub return it.next(); }}; SequenceInputStream sis=new SequenceInputStream(en); FileOutputStream fos=new FileOutputStream("E:\\cMeger.pdf"); byte[] buf=new byte[1024]; int len=0; while((len=sis.read(buf))!=-1){ fos.write(buf,0,len); } fos.close(); sis.close(); } //切割文件 public static void splitFileDemo() throws IOException{ FileInputStream fis=new FileInputStream("E:\\c.pdf"); FileOutputStream fos=null; byte[] buf=new byte[1024*1024]; //1M int len=0; int count=1; while((len=fis.read(buf))!=-1){ fos=new FileOutputStream("E:\\splitFile\\"+(count++)+".part"); fos.write(buf,0,len); fos.close(); } fis.close(); } //合并流 (不会自动换行哦) public static void sequenceDemo() throws IOException{ Vector<FileInputStream> v=new Vector<FileInputStream>(); v.add(new FileInputStream("E:\\1.txt")); v.add(new FileInputStream("E:\\2.txt")); v.add(new FileInputStream("E:\\3.txt")); SequenceInputStream sis=new SequenceInputStream(v.elements()); FileOutputStream fos=new FileOutputStream("E:\\4.txt"); byte[] buf=new byte[1024]; int len=0; while((len=sis.read(buf))!=-1){ fos.write(buf,0,len); } fos.close(); sis.close(); } //字符打印流 public static void method() throws IOException{ BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in)); //true 刷新 只对流而言的 //PrintWriter out=new PrintWriter(System.out,true); //输出到文件中 不能自动刷行 //PrintWriter out=new PrintWriter("a.txt"); //这样文件 封装成 字符流的后就可以自动刷新了 //PrintWriter out=new PrintWriter(new FileWriter("a.txt"),true); //发现效率不高,提高效率 PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("a.txt")),true); String line=null; while((line=bufr.readLine())!=null){ if("over".equals(line)) break; out.println(line.toUpperCase()); //out.flush(); } out.close(); bufr.close(); } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 1008public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2285经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5667package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 1008import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1057/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1014//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1828更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1420import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 820import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2401import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 927// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1176import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 806import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1150import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3897import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 970/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1028import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1844Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1015/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2235package out; import ja ...
相关推荐
java 输出流中的PrintStream 和 PrintWriter有什么区别
PrintStream和PrintWriter都是Java中的输出流类,都是用于将数据输出到目标设备的类,但是它们之间存在一些关键的区别。 首先,从构造方法上看,PrintStream和PrintWriter的构造方法非常相似,都是可以输出各种形式...
Java Scanner File PrintWriter使用实例
PrintStream和PrintWriter都是Java中的输出流类,但它们之间存在着一些区别和联系。本篇文章将通过示例代码详细介绍这两者之间的区别和联系,希望能够对大家的学习或者工作产生一定的参考价值。 首先,PrintStream...
通过对PrintStream和PrintWriter的分析,我们可以看到,Java I/O流是一个非常复杂的系统,但是了解每个组件的作用和使用场景,可以帮助我们更好地使用Java I/O流。 在实际应用中,我们可以使用PrintStream和...
总结,Java中写入TXT文件主要依赖于`PrintWriter`和`FileOutputStream`+`BufferedWriter`这两种方式。`PrintWriter`更简洁,适合简单的文本输出;而`BufferedWriter`与`FileOutputStream`结合则提供了一种更为底层且...
【Java第三次作业】是针对Java编程语言的一次学习任务,主要涵盖了Java的基础概念、语法以及程序设计的基本思想。从描述中的“Java作业”可以推测,这次作业可能涉及到以下几个关键知识点: 1. **基础语法**:Java...
PrintWriter的用法---马克-to-win java视频 打印输出流
import java.io.PrintWriter; import java.net.Socket; public class Client { public static void main (String args[]){ try{ Socket socket =new Socket("127.0.0.1",4703); BufferedReader sin=new ...
Java Socket 操作 Demo import java.awt.Color;...import java.io.PrintWriter; import java.net.Socket; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane;
PrintWriter和PrintStream用于方便地打印数据,包括文本和对象信息。它们提供了print()和println()方法,可以直接将数据输出到控制台或其他输出流。 6. **对象处理** ObjectInputStream和ObjectOutputStream则...
Java打印和定位打印是Java开发中的重要组成部分,主要用于在控制台、文件或图形用户界面(GUI)上输出信息。在Java中,打印功能主要通过`System.out.println()`方法实现,而定位打印则涉及到更复杂的文本格式化技巧...
Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...
Java中读写文本文件主要依赖于`InputStream`和`OutputStream`的使用,结合`Reader`和`Writer`接口的实现类如`BufferedReader`和`PrintWriter`,可以高效地完成文件的读取和写入操作。掌握这些核心类的使用是进行文件...
- **I/O编程**包括文件操作和流处理,Java提供了丰富的I/O类库,如FileInputStream、FileOutputStream、BufferedReader和PrintWriter等,方便进行数据的读写和传输。 - **网络编程**利用Java的Socket和ServerSocket...
* 输出流:java中的输出流包括PrintStream、PrintWriter、BufferedWriter等。 * 文件输入输出:java中的文件输入输出包括读取文件、写入文件、文件复制等。 五、java异常处理 * 异常类型:java中的异常类型包括...
### Java 中对文件的读写操作之比较 #### 引言 在Java中,文件的读写操作是一项基本且重要的功能。随着Java的发展,不同版本提供了多种方式来处理文件读写,这使得开发者可以根据实际需求选择最合适的方法。本文将...
- 打印流,如PrintStream和PrintWriter,提供了打印不同数据类型的方法。 - 数据流,如DataInputStream和DataOutputStream,用于读取和写入Java基本数据类型的值。 - 对象流,如ObjectInputStream和...
Java提供了丰富的类库来读写文件,包括File类、BufferedReader和PrintWriter等,学习如何利用这些工具进行数据的存取至关重要。 Java集合框架是处理数据集合的重要工具,包括List、Set、Queue和Map等接口,以及...