//切割txt文档?你没说清楚,我就当你是切割文档了!方法挺多的,我就用其中一个好了!
//本方法测试,切割大小为4.5KB的文本文档(皇帝新装),分成5份片段文件!
import java.io.File
import java.io.FileNotFoundException
import java.io.IOException
import java.io.RandomAccessFile
public class CutTest {
static File dir=new File("K:\\IO测试\\随机流测试")//目录路径!
public static void main(String[] args) {
File file=new File(dir,"皇帝新装.txt")//文件!
long size=file.length()//文件大小!
//创建随机流!
RandomAccessFile raf1=null,raf2=null
byte[] bytes=new byte[1024]//缓冲区!
try {
raf1=new RandomAccessFile(file,"r")
for(int i=0,len=0i<=size/1024i++) {
len=raf1.read(bytes)//读入数据!
raf2=new RandomAccessFile(new File(dir,"片段"+(i+1)+".txt"),"rw")
raf2.write(bytes, 0, len)//写出数据!
raf2.close()//关闭!
}
} catch (FileNotFoundException e) {
e.printStackTrace()
}catch(IOException e) {
e.printStackTrace()
}finally {//关流!
if(raf1!=null) {
try {
raf1.close()
} catch (IOException e) {
e.printStackTrace()
}
}
if(raf2!=null) {
try {
raf2.close()
} catch (IOException e) {
e.printStackTrace()
}
}
}
}
}
InputStream is = 获得输入流(里面是大文件)OutputStream os = new FileOutputStream("保存路径",true)
int c
while((c = rd.read()) != -1){
wt.write(整型分段长度)
}
is.close()
os.close()
import java.util.ArrayListimport java.util.List
public class listTest {
public static void main(String[] args) {
List<String>list = new ArrayList<String>()
list.add("one")
list.add("two")
list.add("three")
list.add("four")
list.add("five")
list.add("six")
list.add("seven")
intftest = 3//每次取的数据
intsize = list.size()
inttemp = size / ftest + 1
boolean special = size % ftest == 0
List<String>cutList = null
for(int i = 0i <tempi++) {
if (i == temp - 1) {
if (special) {
break
}
cutList = list.subList(ftest * i, size)
}else {
cutList = list.subList(ftest * i, ftest* (i + 1))
}
System.out.println("第" + (i + 1) + "组:" + cutList.toString())
}
}
}
得出的结果为:
第1组:[one, two,three]
第2组:[four, five,six]
第3组:[seven]
如果ftest = 1,得出的结果为:
第1组:[one]
第2组:[two]
第3组:[three]
第4组:[four]
第5组:[five]
第6组:[six]
第7组:[seven]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)