JAVA IO流操作

sprit2 2013-06-27 04:09:16
现在有TXT文档里面写的一行行序列 也就是字符串(CCACCAAACTCTGCAAGATCCCAGAGTGAAAGGCCTGTATTACCATGCTGGTGGCTCCAGTTCAGGAACAGTAAACCCTGTTCCGACTACTGTC)每一行大概有3000+多个字符,现在要把从后数2236位到结束字符串截取出来平移到这一行的开头。自己写不出来了!基础太差。请大家讲解下 谢谢
...全文
95 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
菖蒲老先生 2013-06-27
  • 打赏
  • 举报
回复

String str1 = str.substring(str.length()-2366);
String str2 = str.substring(0, str.length()-2366);
PrintWriter pw = new PrintWriter("d:\\a.txt");
pw.println(str1+str2);
pw.close();
sprit2 2013-06-27
  • 打赏
  • 举报
回复
引用 7 楼 flagiris 的回复:
str.length() > 2366 么。。。 你写的什么呀。。。
str是我每行读取的字符串啊,是大于2366的 啊。每行有3000+多个字符
菖蒲老先生 2013-06-27
  • 打赏
  • 举报
回复
str.length() > 2366 么。。。 你写的什么呀。。。
sprit2 2013-06-27
  • 打赏
  • 举报
回复
引用 5 楼 flagiris 的回复:

String str = "/n中文测试,这是内部硬编码的串 " + "/ntest english character";
        String strin = "";
        BufferedReader stdin = new BufferedReader(new InputStreamReader(new FileInputStream("E:/test.txt"), "gb2312"));
        // 设置输入接口按中文编码
        BufferedWriter stdout = new BufferedWriter(new OutputStreamWriter(System.out, "gb2312"));
        // 设置输出接口按中文编码
        stdout.write("请输入:");
        stdout.flush();
        strin = stdin.readLine();
        stdout.write("这是从用户输入的串:" + strin);
        stdout.write(str);
        stdout.flush();
BufferedReader br =new BufferedReader(new FileReader("d:\\从后数2366个放到前面.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\a.txt")); String str = null; while((str = br.readLine())!=null){ System.out.println(str.length()); String str1 = str.substring(str.length()-2366, str.length()); String str2 = str.substring(0, str.length()-2366); System.out.println(str1+str2); for(int i=0;i<(str1+str2).length();i++){ char b = (str1+str2).charAt(i); bw.write(b); bw.flush(); } } 怎么修改才对啊? 报错了,越界了
菖蒲老先生 2013-06-27
  • 打赏
  • 举报
回复

String str = "/n中文测试,这是内部硬编码的串 " + "/ntest english character";
        String strin = "";
        BufferedReader stdin = new BufferedReader(new InputStreamReader(new FileInputStream("E:/test.txt"), "gb2312"));
        // 设置输入接口按中文编码
        BufferedWriter stdout = new BufferedWriter(new OutputStreamWriter(System.out, "gb2312"));
        // 设置输出接口按中文编码
        stdout.write("请输入:");
        stdout.flush();
        strin = stdin.readLine();
        stdout.write("这是从用户输入的串:" + strin);
        stdout.write(str);
        stdout.flush();
sprit2 2013-06-27
  • 打赏
  • 举报
回复
这么简单地东西不会,,有点无地自容了!!
sprit2 2013-06-27
  • 打赏
  • 举报
回复
引用 1 楼 flagiris 的回复:
就是后2236位吧。。。

System.out.println(s.substring(s.length() - 2236));
恩 关键是IO流操作没怎么弄懂,,解释下
sprit2 2013-06-27
  • 打赏
  • 举报
回复
引用 楼主 mengxiangzr 的回复:
现在有TXT文档里面写的一行行序列 也就是字符串(CCACCAAACTCTGCAAGATCCCAGAGTGAAAGGCCTGTATTACCATGCTGGTGGCTCCAGTTCAGGAACAGTAAACCCTGTTCCGACTACTGTC)每一行大概有3000+多个字符,现在要把从后数2236位到结束字符串截取出来平移到这一行的开头。自己写不出来了!基础太差。请大家讲解下 谢谢
不知道去读取和写入TXT文档了。IO流不是很会! 怎么处理字符串自己能搞定。
菖蒲老先生 2013-06-27
  • 打赏
  • 举报
回复
就是后2236位吧。。。

System.out.println(s.substring(s.length() - 2236));

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧