java读取txt档分段

java读取txt档分段,第1张

//什么意思?能描述清楚你想干什么吗?

//切割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.ArrayList

import 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]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11459689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存