我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java如何给定固定长度根据字符长分割文档

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java如何给定固定长度根据字符长分割文档

这篇文章给大家分享的是有关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如何给定固定长度根据字符长分割文档”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java如何给定固定长度根据字符长分割文档

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java如何给定固定长度根据字符长分割文档

这篇文章给大家分享的是有关java如何给定固定长度根据字符长分割文档的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  给定固定长度(数组 aa[ ])  根据字符长(非字节长度)分割文档  最后输出去除空格以 ^
2023-06-02

如何在同一个 MySQL 表中存储固定长度字符串和可变长度字符串?

我们知道CHAR用于存储固定长度的字符串,VARCHAR用于存储可变长度的字符串。因此,我们可以通过将列声明为 CHAR,将其他列声明为 VARCHAR,在同一个表中存储固定长度和可变长度字符串。示例mysql> Create Table
2023-10-22

Java如何把字符串填充为指定的长度

Java提供多种方法来填充字符串至指定长度:String.format():使用格式化字符串填充。StringBuilder:逐个字符构建字符串并填充。第三方库(如ApacheCommonsLang):提供便捷的填充方法。选择方法取决于需求:String.format()适用于已知格式的字符串,StringBuilder更灵活,第三方库提供附加功能。填充字符可自定义,如果字符串过短则重复填充,过长则可截断。务必检查填充后字符串长度,以满足要求。
Java如何把字符串填充为指定的长度
2024-04-02

Java如何从指定的开始长度比较两个字符串

Java中比较两个字符串从指定起始长度。regionMatches()方法从指定偏移量比较子串,返回布尔值指示是否相等。语法:regionMatches(toffset,other,ooffset,len)。substrin()、indexOf()和自定义循环也可用于比较子串。regionMatches()区分大小写,有忽略大小写的重载版本。超出范围的位置或长度将抛出异常。
Java如何从指定的开始长度比较两个字符串
2024-04-02

Java如何按照指定长度对字符串进行折行处理

Java字符串折行:使用String.format()、String.split()或StringBuilder方法可按照指定长度对字符串分割。String.format()简单易用,String.split()灵活但效率较低,StringBuilder高效灵活但代码量较大。选择方法应根据具体需求,如简单折行可选择String.format(),复杂场景则更适合StringBuilder。
Java如何按照指定长度对字符串进行折行处理
2024-04-02

Java如何二进制安全比较字符串(从偏移位置比较指定长度)

Java提供Arrays.mismatch()方法进行安全二进制字符串比较,从指定偏移量开始比较指定长度的字节。此方法不会泄露字符串长度或内容,是安全比较字符串的有效工具。它返回匹配字节的索引或-1表示匹配。Arrays.mismatch()适用于安全比较,因为它只比较指定长度的字节,不会抛出错误,并防止时序攻击。
Java如何二进制安全比较字符串(从偏移位置比较指定长度)
2024-04-02

Java如何计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度

本文详细介绍了如何使用滑动窗口算法计算字符串中符合指定字符集合条件的第一段子串的长度。算法步骤包括初始化滑动窗口,检查窗口字符,扩展窗口,缩小窗口,记录窗口长度以及重复步骤。该算法的时间复杂度为O(n),其中n为字符串的长度。
Java如何计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度
2024-04-02

Java如何返回预定义多字节字符串的多字节正则表达式的匹配部分的位置和长度

Java正则表达式获取多字节字符串匹配部分的位置和长度:创建Pattern对象:Patternpattern=Pattern.compile(regex)创建Matcher对象:Matchermatcher=pattern.matcher(input)查找匹配:booleanfound=matcher.find()获取匹配位置和长度:intstart=matcher.start():匹配部分的起始索引(字节偏移)intend=matcher.end():匹配部分的结束索引(字节偏移)intlength=e
Java如何返回预定义多字节字符串的多字节正则表达式的匹配部分的位置和长度
2024-04-02

PHP如何返回预定义多字节字符串的多字节正则表达式的匹配部分的位置和长度

PHP提供了mb_ereg_search_getpos()和mb_ereg_matches()函数,用于获取预定义多字节字符串中多字节正则表达式匹配部分的位置和长度。这些函数对于在多字节字符编码环境中进行正则表达式操作非常有用。
PHP如何返回预定义多字节字符串的多字节正则表达式的匹配部分的位置和长度
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录