java如何給定固定長度根據(jù)字符長分割文檔

這篇文章給大家分享的是有關(guān)java如何給定固定長度根據(jù)字符長分割文檔的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、成都網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團成都定制網(wǎng)頁設(shè)計等服務(wù)項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:葡萄架等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致贊美!

給定固定長度(數(shù)組 aa[ ])

根據(jù)字符長(非字節(jié)長度)分割文檔

最后輸出去除空格以 ^ 拼接的文檔

第一個class

package work;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.nio.charset.Charset;

public class T1 {

// inputFilePath 輸入文件路徑

public static void parseCunegFile(String inputFilePath,String outputFilePath, int[] aa) throws Exception {

BufferedWriter bw = null;

BufferedReader br = null;

int[] bb = new int[aa.length];

bb[0] = 0;

for (int i = 1; i < bb.length; i++) {

bb[i] = bb[i - 1] + aa[i - 1]+1;

aa[i]=aa[i]-1;

}

try {

//讀取輸入的文件

File ifile = new File(inputFilePath);

InputStream is = new FileInputStream(ifile);

//沒有則創(chuàng)建輸出的文件

File ofile = new File(outputFilePath);

//FileOutputStream out=new FileOutputStream(ofile);

if(!ofile.exists()){

ofile.createNewFile();

}

bw=new BufferedWriter(new FileWriter(ofile,true));

br = new BufferedReader(new InputStreamReader(is, Charset.forName("gbk")));

String line = "";

// 讀取每一行

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

String str = "";

// 循環(huán)要獲取的長度

for (int i = 0; i < aa.length; i++) {

str = str.trim()+T2.substringByte(line, bb[i], aa[i]).trim()+"^";

}鄭州人流多少錢 http://www.hnmt120.com/

str = str.substring(0,str.length()-1);

bw.write(str+"\n");

}

} catch (IOException e) {

e.printStackTrace();

}finally {

br.close();

bw.close();

}

}

}

第二個class

package work;

public class T2 {

// orignal:需要截取的每一行 start:從第幾位開始 count:截取幾位

public static String substringByte(String orignal, int start, int count) throws Exception {

// 目標char Pull buff緩存區(qū)間;

StringBuffer buff = new StringBuffer();

char c;

int len = 0;

// 遍歷String的每一個Char字符,計算當前總長度

// 如果到當前Char的的字節(jié)長度大于要截取的字符總長度,則跳出循環(huán)返回截取的字符串。

for (int i = 0; i < orignal.toCharArray().length; i++) {

c = orignal.charAt(i);

len += String.valueOf(c).getBytes("GBK").length;

if (len >= start && len <= start + count) {

buff.append(c);

}

if (len > start + count)

break;

}

// 返回最終截取的字符結(jié)果;

// 創(chuàng)建String對象,傳入目標char Buff對象

return new String(buff);

}

}

測試

package work;

public class Test {

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

int[] aa = {32,20,2,8,5,100,15,1,1,1,1,40,1};

T1.parseCunegFile("C:\\Users\\Administrator\\Desktop\\1.txt","C:\\Users\\Administrator\\Desktop\\2.txt", aa);

}

}

感謝各位的閱讀!關(guān)于“java如何給定固定長度根據(jù)字符長分割文檔”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

本文名稱:java如何給定固定長度根據(jù)字符長分割文檔
新聞來源:http://bm7419.com/article26/jciscg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、移動網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)站維護、域名注冊做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)