91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-20 13:48:05 來源:億速云 閱讀:168 作者:小新 欄目:編程語言

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

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

  根據字符長(非字節長度)分割文檔

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

  第一個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);

  //沒有則創建輸出的文件

  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 = "";

  // 循環要獲取的長度

  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緩存區間;

  StringBuffer buff = new StringBuffer();

  char c;

  int len = 0;

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

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

  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;

  }

  // 返回最終截取的字符結果;

  // 創建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);

  }

  }

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎鲁特旗| 葫芦岛市| 信宜市| 密山市| 瑞丽市| 上杭县| 宜昌市| 焦作市| 神农架林区| 晋宁县| 衡水市| 水城县| 如东县| 汝南县| 中宁县| 彭泽县| 兴仁县| 怀宁县| 开阳县| 乌鲁木齐县| 昌邑市| 固阳县| 霍州市| 岢岚县| 平阴县| 东乡县| 德化县| 石首市| 石狮市| 焉耆| 和静县| 灌云县| 广水市| 新建县| 舞阳县| 盱眙县| 井陉县| 邛崃市| 惠州市| 罗源县| 万州区|