博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java小应用
阅读量:6466 次
发布时间:2019-06-23

本文共 3083 字,大约阅读时间需要 10 分钟。

1,程序给你免费试用5次,之后不给你玩了

package javaBase.io.others;import java.io.*;import java.util.*;/* * 程序给你免费试用5次,之后不给你玩了 */public class BetaPrograme {	public static void main(String[] args) throws IOException {		File file = new File("sys.properties");//用File类		if(!file.exists())			file.createNewFile();//文件不存在就创建一个		InputStream in = new FileInputStream(file);//读取流		Properties prop = new Properties();		prop.load(in);		int count = 0;//试用次数		String value = prop.getProperty("times");		if(value!=null){			count = Integer.parseInt(value);			if(count>=5){				System.out.println("您好,您的试用次数已到,请付费!");				return;			}		}				count++;		prop.setProperty("times", count+"");		//写入文件中		OutputStream out = new FileOutputStream(file);		prop.store(out, "");		out.close();		in.close();			}}

2,将几个文本文件合成一个文件

package javaBase.io;import java.io.*;import java.util.Enumeration;import java.util.Vector;//(ArrayList非线程安全)/* * 将3个文本文件合成一个文本文件 */public class MergeText {	public static void main(String[] args) throws IOException {		Vector
v = new Vector
(); v.add(new FileInputStream("1.txt")); v.add(new FileInputStream("2.txt")); v.add(new FileInputStream("3.txt")); Enumeration
en = v.elements(); SequenceInputStream sin = new SequenceInputStream(en);//合并流 FileOutputStream out = new FileOutputStream("4.txt"); byte[] buff = new byte[1024]; int len = 0; while((len = sin.read(buff))!=-1){ out.write(buff,0,len); } out.close(); sin.close(); }}

3,文件分割及合并

package javaBase.io;import java.io.*;import java.util.ArrayList;import java.util.Enumeration;import java.util.Iterator;/* * 分割文件(媒体文件)然后还原 */public class SplitFile {	public static void main(String[] args) throws IOException {		split();		merge();	}	/*	 * 分割文件,最大为1M	 */	public static void split() throws IOException{		FileInputStream in = new FileInputStream("man.mp3");		FileOutputStream out = null;		byte[] buff = new byte[1024*1024];//1M  每读取1M写入文件		int len = 0;		int count = 1;		while((len = in.read(buff))!=-1){			out = new FileOutputStream("man"+(count++)+".part");			out.write(buff,0,len);//仅写入有效数据			out.close();		}		in.close();		}	/*	 * 合并文件	 */	public static void merge() throws IOException{		ArrayList
list = new ArrayList
(); for(int i=1;i<=4;i++){//总共有4个文件 list.add(new FileInputStream("man"+i+".part")); } //vector可以直接调用elements()方法变成enumeration; //ArrayList用迭代器: final Iterator
it = list.iterator();//匿名内部类要使用,所以用final Enumeration
en = new Enumeration
() { @Override public FileInputStream nextElement() { return it.next(); } @Override public boolean hasMoreElements() { return it.hasNext(); } }; //合并流 SequenceInputStream sin = new SequenceInputStream(en); FileOutputStream out = new FileOutputStream("man_merge.mp3"); byte[] buff = new byte[1024*1024];//这里只有1M,若是太大的话会内存溢出,可以用循环每100M新建一个输出流 int len = 0; while((len = sin.read(buff))!=-1){ out.write(buff,0,len); } out.close(); sin.close(); }}

转载于:https://www.cnblogs.com/xukunn/p/4080376.html

你可能感兴趣的文章
Java:正则表达式的详解
查看>>
【转】互联网时代的关键人物:大公司的小领导
查看>>
Android有效解决加载大图片时内存溢出的问题
查看>>
WPF笔记(2.7 文字布局)——Layout
查看>>
Java finally语句到底是在return之前还是之后执行?
查看>>
GPUImage API文档之GLProgram类
查看>>
C# 断点续传原理与实现
查看>>
C#中使用命名管道进行进程通信的实例
查看>>
Lintcode: Minimum Subarray
查看>>
内存问题 动态加载地址和运行时地址
查看>>
LINK : fatal error LNK1181: 无法打开输入文件“..\..\lib\Release\opencv_ocl249.lib”
查看>>
更改MySQL数据文件目录位置
查看>>
android假设重写onDraw实现一个相似TextView能够显示表情和链接的控件(二)
查看>>
Java魔法堂:注解用法详解——@SuppressWarnings(转)
查看>>
unity, GUIStyle and Skin
查看>>
link和@import的区别
查看>>
hdu2159 Fate 二维背包
查看>>
Tengine笔记3:Nginx的反向代理和健康状态检查
查看>>
css3中关于伪类的使用
查看>>
动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法
查看>>