java读取txt中指定长度的字符串并写出
比如说txt内容thisisadatasetTAGGGAAATTTGGGAAA现在我需要读取TAGGG....这个字符串的3-7个字符也就是要输出GGGAAAT应该如何实...
比如说txt内容 this is a dataset TAGGGAAATTTGGGAAA 现在我需要读取TAGGG....这个字符串的3-7个字符 也就是要输出GGGAAAT 应该如何实现?
展开
2个回答
展开全部
实现思路:先读取到txt文件中所有内容,之后通过特定条件,输出想要的字符串
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
//此处添加指定条件
if(str .length==12)
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
//此处添加指定条件
if(str .length==12)
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
展开全部
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileOper {
public String readFile(String fileName) throws IOException {
File file = new File(fileName);
FileInputStream fis;
StringBuffer sb = new StringBuffer();
fis = new FileInputStream(file);
byte[] buf = new byte[1024];
int hasRead = 0;
while ((hasRead = fis.read(buf)) > 0) {
sb.append(new String(buf, 0, hasRead));
}
fis.close();
String str = sb.toString();
return str.substring(str.indexOf("TAG")+2, str.indexOf("TAG")+9);
}
public static void main(String[] args) throws IOException {
System.out.println(new FileOper().readFile("1.txt"));
}
}
import java.io.FileInputStream;
import java.io.IOException;
public class FileOper {
public String readFile(String fileName) throws IOException {
File file = new File(fileName);
FileInputStream fis;
StringBuffer sb = new StringBuffer();
fis = new FileInputStream(file);
byte[] buf = new byte[1024];
int hasRead = 0;
while ((hasRead = fis.read(buf)) > 0) {
sb.append(new String(buf, 0, hasRead));
}
fis.close();
String str = sb.toString();
return str.substring(str.indexOf("TAG")+2, str.indexOf("TAG")+9);
}
public static void main(String[] args) throws IOException {
System.out.println(new FileOper().readFile("1.txt"));
}
}
更多追问追答
追问
您好,感谢你的回答。如果我的字符串TAG开头是 这三个字母的任意组合(也有可能是AAA GGT这样的 )代码应该如何修改呢?麻烦了 待会儿会提高选上 我的文件位置是D:\\111\\11.txt 谢谢!
追答
这个字符串的前面都是this is a dataset
这个么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询