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()

}

}

}

}

}

import java.io.BufferedReader

import java.io.FileNotFoundException

import java.io.FileReader

import java.io.IOException

import java.io.RandomAccessFile

import java.util.Scanner

public class TestPrint {

public static void main(String[] args) throws IOException {

String path = "你要读的文件的路径"

RandomAccessFile br=new RandomAccessFile(path,"rw")//这里rw看你了。要是之都就只写r

String str = null, app = null

int i=0

while ((str = br.readLine()) != null) {

i++

app=app+str

if(i>=100){//假设读取100行

i=0

// 这里你先对这100行 *** 作,然后继续读

app=null

}

}

br.close()

}

}

package demo

import java.io.BufferedInputStream

import java.io.BufferedReader

import java.io.File

import java.io.FileInputStream

import java.io.InputStreamReader

import java.util.ArrayList

import java.util.List

public class DemoApp {

public static void main(String[] args) throws Exception {

// 指定的文件

File file = new File("E:\\Workspaces\\eclipse3.7\\Demo\\src\\test.txt")

// 装载list

List<String> list = new ArrayList<String>()

// 读取文件

FileInputStream fis = new FileInputStream(file)

BufferedReader br = new BufferedReader(new InputStreamReader(fis))

StringBuffer buffer = new StringBuffer()

String line

int i = 0

while ((line = br.readLine()) != null) {

System.out.println(line)

if (i == 0) {

buffer.append(line + "\n")

} else {

// 判断截取点

if (line.substring(0, 1).equals(">")) {

list.add(buffer.toString())

buffer = new StringBuffer()

buffer.append(line + "\n")

} else {

buffer.append(line + "\n")

}

}

i++

}

if (line == null) {

list.add(buffer.toString())

}

// test

System.out.println("--------------------------")

for(int j=0 j<list.size() j++) {

System.out.println( j + ":   " + list.get(j))

System.out.println("-----------------------")

}

}

}


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

原文地址:https://54852.com/tougao/11888026.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存