生活随笔
收集整理的這篇文章主要介紹了
                                
Java文本文件切割
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
 
                                
                            
                            
                            之前了解過用Java切割文件,采用的是字節(jié)流的方式讀取文件,然后發(fā)現(xiàn)存在一個(gè)問題,就是前面的文件是正常編碼的,后面的文件會亂碼。于是針對個(gè)人需求(2.3G的文本文件無法打開),采用按行讀取,即一行一行讀取文件然后再存入到新的文本中。 
 具體代碼如下:
 
    /*** * @Description 文件分割* @param src 分割文件路徑* @param maxline 最大行數(shù)(即每個(gè)文件中存儲的行數(shù))* @throws IOException*/public static void splitFileDemo(String path,
int maxline) 
throws IOException {FileInputStream fis = 
new FileInputStream(path);InputStreamReader isr = 
new InputStreamReader(fis, 
"UTF-8");BufferedReader br = 
new BufferedReader(isr);String fileName = path.substring(
0, path.indexOf(
"."));String endName = path.substring(path.lastIndexOf(
"."));
try {
int i = 
0;
boolean end = 
false;
while (
true) {
if (end)
break;StringBuffer sb = 
new StringBuffer();sb.append(fileName);sb.append(
"_data");sb.append(i);sb.append(endName);System.out.println(sb.toString());FileOutputStream fos = 
new FileOutputStream(
new File(sb.toString()));OutputStreamWriter osw = 
new OutputStreamWriter(fos, 
"UTF-8");BufferedWriter bw = 
new BufferedWriter(osw);String line = 
"";
int m = 
1;
while((line = br.readLine())!=
null ){bw.write(line+
"\t\n");
if(m>=maxline){
break;}                       m++;}
if(m<maxline)end = 
true;i++;bw.close();osw.close();fos.close();}} 
catch (Exception e) {e.printStackTrace();} 
finally {br.close();isr.close();fis.close();}System.out.println(
"--- 文件分割完成 ---");} 
測試代碼:
 
import java.io.IOException;
public class TestSplitByLine {/*** @param args* @throws IOException */public static void main(String[] args) 
throws IOException {CopyOfsplitFile_MergeFileByLine.splitFileDemo(
"E:\\TestData\\splitTest\\hello.txt", 
4);}}
 
測試結(jié)果: 
 
                            總結(jié)
                            
                                以上是生活随笔為你收集整理的Java文本文件切割的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。